--- zzzz-none-000/linux-2.6.39.4/net/ipv4/tcp_timer.c 2011-08-03 19:43:28.000000000 +0000 +++ puma6-atom-6490-729/linux-2.6.39.4/net/ipv4/tcp_timer.c 2021-11-10 13:38:18.000000000 +0000 @@ -127,6 +127,7 @@ mss = tcp_mtu_to_mss(sk, icsk->icsk_mtup.search_low) >> 1; mss = min(sysctl_tcp_base_mss, mss); mss = max(mss, 68 - tp->tcp_header_len); + mss = max(mss, sysctl_tcp_min_snd_mss); icsk->icsk_mtup.search_low = tcp_mss_to_mtu(sk, mss); tcp_sync_mss(sk, icsk->icsk_pmtu_cookie); } @@ -555,7 +556,7 @@ elapsed = keepalive_time_when(tp); /* It is alive without keepalive 8) */ - if (tp->packets_out || tcp_send_head(sk)) + if (icsk->icsk_retransmits == 0 && (tp->packets_out || tcp_send_head(sk))) goto resched; elapsed = keepalive_time_elapsed(tp);