r8169: use rtl8169_set_features in rtl8169_init_one
authorHeiner Kallweit <hkallweit1@gmail.com>
Sat, 18 Apr 2020 21:10:03 +0000 (23:10 +0200)
committerDavid S. Miller <davem@davemloft.net>
Sun, 19 Apr 2020 03:20:11 +0000 (20:20 -0700)
At that place in rtl_init_one() we can safely use rtl8169_set_features()
to configure the chip according to the default features.

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 e37ff1a5161d77579b3709b9916d848f61250267..e8c55b795c7637e3dda743879e60c327fdbb7df4 100644 (file)
@@ -5446,10 +5446,6 @@ static int rtl_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
        dev->vlan_features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_TSO;
        dev->priv_flags |= IFF_LIVE_ADDR_CHANGE;
 
-       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.
@@ -5481,6 +5477,9 @@ static int rtl_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
        dev->hw_features |= NETIF_F_RXALL;
        dev->hw_features |= NETIF_F_RXFCS;
 
+       /* configure chip for default features */
+       rtl8169_set_features(dev, dev->features);
+
        jumbo_max = rtl_jumbo_max(tp);
        if (jumbo_max)
                dev->max_mtu = jumbo_max;