aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/r8169.c
diff options
context:
space:
mode:
authorBruno Prémont <bonbons@linux-vserver.org>2008-10-08 20:06:25 -0400
committerDavid S. Miller <davem@davemloft.net>2008-10-08 20:06:25 -0400
commit8b76ab39196edd459d209f6d6a075fa15e9da232 (patch)
tree9fbf2798cf2ab0e80830c7c40070b1d91294281a /drivers/net/r8169.c
parent20037fa407f26716866eff95221c4882babe1280 (diff)
r8169: WoL fixes, part 2.
Since recent kernel (2.6.26 or 2.6.27) the PCI wakeup functions are influenced by generic device ability and configuration when enabling PCI-device triggered wake-up. This patch causes WoL setting to enable/disable device's wish to be permitted to wake-up the host when changing WoL options and also during device probing. Without this patch one has write 'enabled' to /sys/bus/pci/devices/0000:02:08.0/power/wakeup Signed-off-by: Bruno Prémont <bonbons@linux-vserver.org> Acked-by: Rafael J. Wysocki <rjw@sisk.pl> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/r8169.c')
-rw-r--r--drivers/net/r8169.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c
index 3c6e591326fc..108aaff0b211 100644
--- a/drivers/net/r8169.c
+++ b/drivers/net/r8169.c
@@ -759,6 +759,7 @@ static int rtl8169_set_wol(struct net_device *dev, struct ethtool_wolinfo *wol)
759 tp->features |= RTL_FEATURE_WOL; 759 tp->features |= RTL_FEATURE_WOL;
760 else 760 else
761 tp->features &= ~RTL_FEATURE_WOL; 761 tp->features &= ~RTL_FEATURE_WOL;
762 device_set_wakeup_enable(&tp->pci_dev->dev, wol->wolopts);
762 763
763 spin_unlock_irq(&tp->lock); 764 spin_unlock_irq(&tp->lock);
764 765
@@ -2017,6 +2018,7 @@ rtl8169_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
2017 } 2018 }
2018 2019
2019 rtl8169_init_phy(dev, tp); 2020 rtl8169_init_phy(dev, tp);
2021 device_set_wakeup_enable(&pdev->dev, tp->features & RTL_FEATURE_WOL);
2020 2022
2021out: 2023out:
2022 return rc; 2024 return rc;