From: Stricted Date: Wed, 21 Mar 2018 22:07:40 +0000 (+0100) Subject: Merge tag 'v3.10.108' into update X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=bdecc6d1840bca102c4eb6113c6218e1ae8913f5;p=GitHub%2Fmt8127%2Fandroid_kernel_alcatel_ttab.git Merge tag 'v3.10.108' into update This is the 3.10.108 stable release --- bdecc6d1840bca102c4eb6113c6218e1ae8913f5 diff --cc net/ipv4/tcp_input.c index 094515e751d0,85dd09be1618..41ef73a7cb66 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c @@@ -3013,11 -2977,10 +3012,10 @@@ void tcp_rearm_rto(struct sock *sk /* delta may not be positive if the socket is locked * when the retrans timer fires and is rescheduled. */ - if (delta > 0) - rto = delta; + rto = max_t(int, delta, 1); } inet_csk_reset_xmit_timer(sk, ICSK_TIME_RETRANS, rto, - TCP_RTO_MAX); + sysctl_tcp_rto_max); } } diff --cc net/ipv4/tcp_output.c index 77e6a9d36023,f5d670ccd403..f51287dac700 --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c @@@ -1986,17 -1975,13 +1974,13 @@@ bool tcp_schedule_loss_probe(struct soc (rtt + (rtt >> 1) + TCP_DELACK_MAX)); timeout = max_t(u32, timeout, msecs_to_jiffies(10)); - /* If RTO is shorter, just schedule TLP in its place. */ - tlp_time_stamp = tcp_time_stamp + timeout; - rto_time_stamp = (u32)inet_csk(sk)->icsk_timeout; - if ((s32)(tlp_time_stamp - rto_time_stamp) > 0) { - s32 delta = rto_time_stamp - tcp_time_stamp; - if (delta > 0) - timeout = delta; - } + /* If the RTO formula yields an earlier time, then use that time. */ + rto_delta = tcp_rto_delta(sk); /* How far in future is RTO? */ + if (rto_delta > 0) + timeout = min_t(u32, timeout, rto_delta); inet_csk_reset_xmit_timer(sk, ICSK_TIME_LOSS_PROBE, timeout, - TCP_RTO_MAX); + sysctl_tcp_rto_max); return true; }