diff options
Diffstat (limited to 'net/ipv4/tcp_output.c')
-rw-r--r-- | net/ipv4/tcp_output.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c index 7b2d8762f15f..6d5bab8a3ea6 100644 --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c | |||
@@ -2515,9 +2515,11 @@ u32 __tcp_select_window(struct sock *sk) | |||
2515 | int full_space = min_t(int, tp->window_clamp, allowed_space); | 2515 | int full_space = min_t(int, tp->window_clamp, allowed_space); |
2516 | int window; | 2516 | int window; |
2517 | 2517 | ||
2518 | if (mss > full_space) | 2518 | if (unlikely(mss > full_space)) { |
2519 | mss = full_space; | 2519 | mss = full_space; |
2520 | 2520 | if (mss <= 0) | |
2521 | return 0; | ||
2522 | } | ||
2521 | if (free_space < (full_space >> 1)) { | 2523 | if (free_space < (full_space >> 1)) { |
2522 | icsk->icsk_ack.quick = 0; | 2524 | icsk->icsk_ack.quick = 0; |
2523 | 2525 | ||