r8169: don't set bit RxVlan on RTL8125
authorHeiner Kallweit <hkallweit1@gmail.com>
Sun, 1 Sep 2019 08:42:44 +0000 (10:42 +0200)
committerDavid S. Miller <davem@davemloft.net>
Sun, 1 Sep 2019 18:37:36 +0000 (11:37 -0700)
RTL8125 uses a different register for VLAN offloading config,
therefore don't set bit RxVlan.

Fixes: f1bce4ad2f1c ("r8169: add support for RTL8125")
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 f337f81e45402266a6ba39615c74357847f2cd0b..0ef01db1f8b854a26ce08fc78db77be3abbdbdbc 100644 (file)
@@ -7164,8 +7164,10 @@ static int rtl_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
                NETIF_F_HIGHDMA;
        dev->priv_flags |= IFF_LIVE_ADDR_CHANGE;
 
-       tp->cp_cmd |= RxChkSum | RxVlan;
-
+       tp->cp_cmd |= RxChkSum;
+       /* RTL8125 uses register RxConfig for VLAN offloading config */
+       if (!rtl_is_8125(tp))
+               tp->cp_cmd |= RxVlan;
        /*
         * Pretend we are using VLANs; This bypasses a nasty bug where
         * Interrupts stop flowing on high load on 8110SCd controllers.