summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Wu <lekensteyn@gmail.com>2013-08-17 11:00:02 +0200
committerDavid S. Miller <davem@davemloft.net>2013-08-20 16:48:32 -0700
commit8f9d5138035de0940358cfb36eed16ebdaf5a4e5 (patch)
tree688ddf5cae7020541cd0ad075edab3c7ffdb50b5
parent18ebe5c1c63b46f1acc41f68af5d82d6b7b39d73 (diff)
downloadlinux-8f9d5138035de0940358cfb36eed16ebdaf5a4e5.tar.gz
linux-8f9d5138035de0940358cfb36eed16ebdaf5a4e5.tar.bz2
linux-8f9d5138035de0940358cfb36eed16ebdaf5a4e5.zip
r8169: remember WOL preferences on driver load
Do not clear Broadcast/Multicast/Unicast Wake Flag or LanWake in Config5. This is necessary to preserve WOL state when the driver is loaded. Although the r8168 vendor driver does not write Config5 (it has been commented out), Hayes Wang from Realtek said that masking bits like this is more sensible. Signed-off-by: Peter Wu <lekensteyn@gmail.com> Acked-by: Francois Romieu <romieu@fr.zoreil.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/ethernet/realtek/r8169.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
index b5eb4195fc99..85e5c97191dd 100644
--- a/drivers/net/ethernet/realtek/r8169.c
+++ b/drivers/net/ethernet/realtek/r8169.c
@@ -7088,7 +7088,7 @@ rtl_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
RTL_W8(Cfg9346, Cfg9346_Unlock);
RTL_W8(Config1, RTL_R8(Config1) | PMEnable);
- RTL_W8(Config5, RTL_R8(Config5) & PMEStatus);
+ RTL_W8(Config5, RTL_R8(Config5) & (BWF | MWF | UWF | LanWake | PMEStatus));
if ((RTL_R8(Config3) & (LinkUp | MagicPacket)) != 0)
tp->features |= RTL_FEATURE_WOL;
if ((RTL_R8(Config5) & (UWF | BWF | MWF)) != 0)