diff options
| author | Ilpo Järvinen <[email protected]> | 2009-04-14 09:08:53 +0000 |
|---|---|---|
| committer | David S. Miller <[email protected]> | 2009-04-14 09:08:53 +0000 |
| commit | 86bcebafc5e7f5163ccf828792fe694b112ed6fa (patch) | |
| tree | fa383567eae0553e73a834ad97f64e07d1b47dfe /net/ipv4/tcp_input.c | |
| parent | netsched: Allow meta match on vlan tag on receive (diff) | |
| download | kernel-86bcebafc5e7f5163ccf828792fe694b112ed6fa.tar.gz kernel-86bcebafc5e7f5163ccf828792fe694b112ed6fa.zip | |
tcp: fix >2 iw selection
A long-standing feature in tcp_init_metrics() is such that
any of its goto reset prevents call to tcp_init_cwnd().
Signed-off-by: Ilpo Järvinen <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Diffstat (limited to 'net/ipv4/tcp_input.c')
| -rw-r--r-- | net/ipv4/tcp_input.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index 2bc8e27a163d..c96a6bb25430 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c @@ -928,6 +928,8 @@ static void tcp_init_metrics(struct sock *sk) tcp_set_rto(sk); if (inet_csk(sk)->icsk_rto < TCP_TIMEOUT_INIT && !tp->rx_opt.saw_tstamp) goto reset; + +cwnd: tp->snd_cwnd = tcp_init_cwnd(tp, dst); tp->snd_cwnd_stamp = tcp_time_stamp; return; @@ -942,6 +944,7 @@ reset: tp->mdev = tp->mdev_max = tp->rttvar = TCP_TIMEOUT_INIT; inet_csk(sk)->icsk_rto = TCP_TIMEOUT_INIT; } + goto cwnd; } static void tcp_update_reordering(struct sock *sk, const int metric, |
