diff options
Diffstat (limited to 'net/ipv4/tcp_input.c')
-rw-r--r-- | net/ipv4/tcp_input.c | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index ea690afa592a..957e0fb8afb7 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c | |||
@@ -1346,8 +1346,6 @@ tcp_sacktag_write_queue(struct sock *sk, struct sk_buff *ack_skb, u32 prior_snd_ | |||
1346 | } | 1346 | } |
1347 | } | 1347 | } |
1348 | 1348 | ||
1349 | tp->left_out = tp->sacked_out + tp->lost_out; | ||
1350 | |||
1351 | if ((reord < tp->fackets_out) && icsk->icsk_ca_state != TCP_CA_Loss && | 1349 | if ((reord < tp->fackets_out) && icsk->icsk_ca_state != TCP_CA_Loss && |
1352 | (!tp->frto_highmark || after(tp->snd_una, tp->frto_highmark))) | 1350 | (!tp->frto_highmark || after(tp->snd_una, tp->frto_highmark))) |
1353 | tcp_update_reordering(sk, ((tp->fackets_out + 1) - reord), 0); | 1351 | tcp_update_reordering(sk, ((tp->fackets_out + 1) - reord), 0); |
@@ -1408,7 +1406,6 @@ static void tcp_remove_reno_sacks(struct sock *sk, int acked) | |||
1408 | static inline void tcp_reset_reno_sack(struct tcp_sock *tp) | 1406 | static inline void tcp_reset_reno_sack(struct tcp_sock *tp) |
1409 | { | 1407 | { |
1410 | tp->sacked_out = 0; | 1408 | tp->sacked_out = 0; |
1411 | tp->left_out = tp->lost_out; | ||
1412 | } | 1409 | } |
1413 | 1410 | ||
1414 | int tcp_use_frto(struct sock *sk) | 1411 | int tcp_use_frto(struct sock *sk) |
@@ -1573,7 +1570,6 @@ static void tcp_enter_frto_loss(struct sock *sk, int allowed_segments, int flag) | |||
1573 | 1570 | ||
1574 | void tcp_clear_retrans(struct tcp_sock *tp) | 1571 | void tcp_clear_retrans(struct tcp_sock *tp) |
1575 | { | 1572 | { |
1576 | tp->left_out = 0; | ||
1577 | tp->retrans_out = 0; | 1573 | tp->retrans_out = 0; |
1578 | 1574 | ||
1579 | tp->fackets_out = 0; | 1575 | tp->fackets_out = 0; |
@@ -1973,7 +1969,7 @@ static void DBGUNDO(struct sock *sk, const char *msg) | |||
1973 | printk(KERN_DEBUG "Undo %s %u.%u.%u.%u/%u c%u l%u ss%u/%u p%u\n", | 1969 | printk(KERN_DEBUG "Undo %s %u.%u.%u.%u/%u c%u l%u ss%u/%u p%u\n", |
1974 | msg, | 1970 | msg, |
1975 | NIPQUAD(inet->daddr), ntohs(inet->dport), | 1971 | NIPQUAD(inet->daddr), ntohs(inet->dport), |
1976 | tp->snd_cwnd, tp->left_out, | 1972 | tp->snd_cwnd, tp->sacked_out + tp->lost_out, |
1977 | tp->snd_ssthresh, tp->prior_ssthresh, | 1973 | tp->snd_ssthresh, tp->prior_ssthresh, |
1978 | tp->packets_out); | 1974 | tp->packets_out); |
1979 | } | 1975 | } |
@@ -2102,7 +2098,6 @@ static int tcp_try_undo_loss(struct sock *sk) | |||
2102 | 2098 | ||
2103 | DBGUNDO(sk, "partial loss"); | 2099 | DBGUNDO(sk, "partial loss"); |
2104 | tp->lost_out = 0; | 2100 | tp->lost_out = 0; |
2105 | tp->left_out = tp->sacked_out; | ||
2106 | tcp_undo_cwr(sk, 1); | 2101 | tcp_undo_cwr(sk, 1); |
2107 | NET_INC_STATS_BH(LINUX_MIB_TCPLOSSUNDO); | 2102 | NET_INC_STATS_BH(LINUX_MIB_TCPLOSSUNDO); |
2108 | inet_csk(sk)->icsk_retransmits = 0; | 2103 | inet_csk(sk)->icsk_retransmits = 0; |
@@ -2126,8 +2121,6 @@ static void tcp_try_to_open(struct sock *sk, int flag) | |||
2126 | { | 2121 | { |
2127 | struct tcp_sock *tp = tcp_sk(sk); | 2122 | struct tcp_sock *tp = tcp_sk(sk); |
2128 | 2123 | ||
2129 | tcp_sync_left_out(tp); | ||
2130 | |||
2131 | if (tp->retrans_out == 0) | 2124 | if (tp->retrans_out == 0) |
2132 | tp->retrans_stamp = 0; | 2125 | tp->retrans_stamp = 0; |
2133 | 2126 | ||
@@ -2137,7 +2130,7 @@ static void tcp_try_to_open(struct sock *sk, int flag) | |||
2137 | if (inet_csk(sk)->icsk_ca_state != TCP_CA_CWR) { | 2130 | if (inet_csk(sk)->icsk_ca_state != TCP_CA_CWR) { |
2138 | int state = TCP_CA_Open; | 2131 | int state = TCP_CA_Open; |
2139 | 2132 | ||
2140 | if (tp->left_out || tp->retrans_out || tp->undo_marker) | 2133 | if (tp->sacked_out || tp->retrans_out || tp->undo_marker) |
2141 | state = TCP_CA_Disorder; | 2134 | state = TCP_CA_Disorder; |
2142 | 2135 | ||
2143 | if (inet_csk(sk)->icsk_ca_state != state) { | 2136 | if (inet_csk(sk)->icsk_ca_state != state) { |