--- zzzz-none-000/linux-2.6.32.60/net/ipv4/tcp_timer.c 2012-10-07 21:41:24.000000000 +0000 +++ ur8-7270-606/linux-2.6.32.60/net/ipv4/tcp_timer.c 2011-05-25 13:51:48.000000000 +0000 @@ -496,7 +496,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 = tcp_time_stamp - tp->rcv_tstamp;