aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias Diedrich <ranma+kernel@tdiedrich.de>2008-06-01 00:54:42 +0200
committerJeff Garzik <jgarzik@redhat.com>2008-06-28 10:23:35 -0400
commit9a60a82600822d34dcbc4df0866ec6ce643c0e79 (patch)
tree9a6d6e456fbbc76996f8e4d5bb43796006e284c1
parenta9879c4fca9d93ccfb48d642421f3f6211eceec4 (diff)
Fix forcedeth hibernate/wake-on-lan problems
We currently don't signal the kernel we that this device can wake the system. Call device_init_wakeup() to correct this. Without this device_can_wakeup and device_may_wakeup will return incorrect values. Together with the minimized acpi wakeup patch (6/4 ;)), which will follow in the next mail, this really makes wake-on-lan work for me as expected (i.e. "ethtool -s eth0 wol g" is sufficient, no additional magic needed). Signed-off-by: Tobias Diedrich <ranma+kernel@tdiedrich.de> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
-rw-r--r--drivers/net/forcedeth.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/forcedeth.c b/drivers/net/forcedeth.c
index c980ce9719a..afd063fe11a 100644
--- a/drivers/net/forcedeth.c
+++ b/drivers/net/forcedeth.c
@@ -5559,6 +5559,11 @@ static int __devinit nv_probe(struct pci_dev *pci_dev, const struct pci_device_i
/* set mac address */
nv_copy_mac_to_hw(dev);
+ /* Workaround current PCI init glitch: wakeup bits aren't
+ * being set from PCI PM capability.
+ */
+ device_init_wakeup(&pci_dev->dev, 1);
+
/* disable WOL */
writel(0, base + NvRegWakeUpFlags);
np->wolenabled = 0;