summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/realtek/r8169.c
diff options
context:
space:
mode:
authorhayeswang <hayeswang@realtek.com>2014-09-12 05:35:11 +0200
committerDavid S. Miller <davem@davemloft.net>2014-09-13 22:52:44 +0200
commit48c20407f49039d8da155ca00877ec5f057799e6 (patch)
tree5f97d3d48d3612e4bef012df3525d5b201a92932 /drivers/net/ethernet/realtek/r8169.c
parentdrivers: net: cpsw: dual_emac: in suspend/resume bring down/up all the netdev (diff)
downloadlinux-48c20407f49039d8da155ca00877ec5f057799e6.tar.xz
linux-48c20407f49039d8da155ca00877ec5f057799e6.zip
r8169: fix the default setting of rx vlan
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>
Diffstat (limited to 'drivers/net/ethernet/realtek/r8169.c')
-rw-r--r--drivers/net/ethernet/realtek/r8169.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
index 91652e7235e4..f3ce284e54f0 100644
--- a/drivers/net/ethernet/realtek/r8169.c
+++ b/drivers/net/ethernet/realtek/r8169.c
@@ -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);