Message ID | 20161128220146.GA13169@localhost.localdomain |
---|---|
State | RFC, archived |
Delegated to: | David Miller |
Headers | show |
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index a27b9c0e27c0..3a59cffae3fa 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c @@ -144,7 +144,9 @@ static void tcp_measure_rcv_mss(struct sock *sk, const struct sk_buff *skb) */ len = skb_shinfo(skb)->gso_size ? : skb->len; if (len >= icsk->icsk_ack.rcv_mss) { - icsk->icsk_ack.rcv_mss = len; + icsk->icsk_ack.rcv_mss = max(len, tcp_sk(sk)->advmss); + if (icsk->icsk_ack.rcv_mss != len) + pr_warn_once("Your driver is likely doing bad rx acceleration.\n"); } else { /* Otherwise, we make more careful check taking into account, * that SACKs block is variable.