aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/r8169.c
diff options
context:
space:
mode:
authorBruno Prémont <bonbons@linux-vserver.org>2008-10-08 20:05:03 -0400
committerDavid S. Miller <davem@davemloft.net>2008-10-08 20:05:03 -0400
commit20037fa407f26716866eff95221c4882babe1280 (patch)
tree43a594a185d55d3eb8305c53b05285c425e7ccdb /drivers/net/r8169.c
parentd3eab82b554eeb51f038ac327b6c68c6afdee978 (diff)
r8169: WoL fixes, part 1.
When probing the chip and handling it's power management settings also remember wether WoL feature is enabled. Without this patch one has to call ethtool to change WoL settings for this flag to be set and any WoL being enabled on suspend to RAM. Signed-off-by: Bruno Prémont <bonbons@linux-vserver.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/r8169.c')
-rw-r--r--drivers/net/r8169.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c
index 53a0ce445cc5..3c6e591326fc 100644
--- a/drivers/net/r8169.c
+++ b/drivers/net/r8169.c
@@ -1925,6 +1925,10 @@ rtl8169_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
1925 RTL_W8(Cfg9346, Cfg9346_Unlock); 1925 RTL_W8(Cfg9346, Cfg9346_Unlock);
1926 RTL_W8(Config1, RTL_R8(Config1) | PMEnable); 1926 RTL_W8(Config1, RTL_R8(Config1) | PMEnable);
1927 RTL_W8(Config5, RTL_R8(Config5) & PMEStatus); 1927 RTL_W8(Config5, RTL_R8(Config5) & PMEStatus);
1928 if ((RTL_R8(Config3) & (LinkUp | MagicPacket)) != 0)
1929 tp->features |= RTL_FEATURE_WOL;
1930 if ((RTL_R8(Config5) & (UWF | BWF | MWF)) != 0)
1931 tp->features |= RTL_FEATURE_WOL;
1928 tp->features |= rtl_try_msi(pdev, ioaddr, cfg); 1932 tp->features |= rtl_try_msi(pdev, ioaddr, cfg);
1929 RTL_W8(Cfg9346, Cfg9346_Lock); 1933 RTL_W8(Cfg9346, Cfg9346_Lock);
1930 1934