diff options
Diffstat (limited to 'net/ipv4/tcp.c')
| -rw-r--r-- | net/ipv4/tcp.c | 4 | 
1 files changed, 3 insertions, 1 deletions
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c index e7e6eeae49c..2109ff4a1da 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c @@ -811,7 +811,9 @@ static unsigned int tcp_xmit_size_goal(struct sock *sk, u32 mss_now,  			   old_size_goal + mss_now > xmit_size_goal)) {  			xmit_size_goal = old_size_goal;  		} else { -			tp->xmit_size_goal_segs = xmit_size_goal / mss_now; +			tp->xmit_size_goal_segs = +				min_t(u16, xmit_size_goal / mss_now, +				      sk->sk_gso_max_segs);  			xmit_size_goal = tp->xmit_size_goal_segs * mss_now;  		}  	}  |