r8169: fix the default setting of rx vlan
authorhayeswang <hayeswang@realtek.com>
Fri, 12 Sep 2014 03:35:11 +0000 (11:35 +0800)
committerDavid S. Miller <davem@davemloft.net>
Sat, 13 Sep 2014 20:52:44 +0000 (16:52 -0400)
If the parameter "features" of __rtl8169_set_features() is equal to
dev->features, the variable "changed" is alwayes 0, and nothing would
be changed.

Signed-off-by: Hayes Wang <hayeswang@realtek.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/realtek/r8169.c

index 91652e7235e469be8c20a7ecd7a5b926178ab1af..f3ce284e54f0d2bbe41ae07984a5deb43a386142 100644 (file)
@@ -6707,7 +6707,12 @@ static int rtl_open(struct net_device *dev)
 
        rtl8169_init_phy(dev, tp);
 
-       __rtl8169_set_features(dev, dev->features);
+       if (dev->features & NETIF_F_HW_VLAN_CTAG_RX)
+               tp->cp_cmd |= RxVlan;
+       else
+               tp->cp_cmd &= ~RxVlan;
+
+       RTL_W16(CPlusCmd, tp->cp_cmd);
 
        rtl_pll_power_up(tp);