diff options
author | Tobias Diedrich <ranma+kernel@tdiedrich.de> | 2008-05-31 18:54:42 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2008-06-28 10:23:35 -0400 |
commit | 9a60a82600822d34dcbc4df0866ec6ce643c0e79 (patch) | |
tree | 9a6d6e456fbbc76996f8e4d5bb43796006e284c1 /drivers/net/forcedeth.c | |
parent | a9879c4fca9d93ccfb48d642421f3f6211eceec4 (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>
Diffstat (limited to 'drivers/net/forcedeth.c')
-rw-r--r-- | drivers/net/forcedeth.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/forcedeth.c b/drivers/net/forcedeth.c index c980ce9719af..afd063fe11af 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 | |||
5559 | /* set mac address */ | 5559 | /* set mac address */ |
5560 | nv_copy_mac_to_hw(dev); | 5560 | nv_copy_mac_to_hw(dev); |
5561 | 5561 | ||
5562 | /* Workaround current PCI init glitch: wakeup bits aren't | ||
5563 | * being set from PCI PM capability. | ||
5564 | */ | ||
5565 | device_init_wakeup(&pci_dev->dev, 1); | ||
5566 | |||
5562 | /* disable WOL */ | 5567 | /* disable WOL */ |
5563 | writel(0, base + NvRegWakeUpFlags); | 5568 | writel(0, base + NvRegWakeUpFlags); |
5564 | np->wolenabled = 0; | 5569 | np->wolenabled = 0; |