]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
r8169: improve handling of TD_MSS_MAX
authorHeiner Kallweit <hkallweit1@gmail.com>
Sun, 29 Mar 2020 16:28:45 +0000 (18:28 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 30 Mar 2020 18:44:53 +0000 (11:44 -0700)
If the mtu is greater than TD_MSS_MAX, then TSO is disabled, see
rtl8169_fix_features(). Because mss is less than mtu, we can't have
the case mss > TD_MSS_MAX in the TSO path.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/realtek/r8169_main.c

index 9971135a7ab5e3a8a3aa517b6c2a3f9cdbdde733..5990147c0b2d825fe677ce77d978562e80af0164 100644 (file)
@@ -4106,7 +4106,7 @@ static void rtl8169_tso_csum_v1(struct sk_buff *skb, u32 *opts)
 
        if (mss) {
                opts[0] |= TD_LSO;
-               opts[0] |= min(mss, TD_MSS_MAX) << TD0_MSS_SHIFT;
+               opts[0] |= mss << TD0_MSS_SHIFT;
        } else if (skb->ip_summed == CHECKSUM_PARTIAL) {
                const struct iphdr *ip = ip_hdr(skb);
 
@@ -4145,7 +4145,7 @@ static bool rtl8169_tso_csum_v2(struct rtl8169_private *tp,
                }
 
                opts[0] |= transport_offset << GTTCPHO_SHIFT;
-               opts[1] |= min(mss, TD_MSS_MAX) << TD1_MSS_SHIFT;
+               opts[1] |= mss << TD1_MSS_SHIFT;
        } else if (skb->ip_summed == CHECKSUM_PARTIAL) {
                u8 ip_protocol;