summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorAuke Kok <auke-jan.h.kok@intel.com>2006-05-23 13:35:57 -0700
committerJeff Garzik <jeff@garzik.org>2006-05-26 21:31:56 -0400
commit80871e63e410c53524ef47eaf475c13e0f164ea6 (patch)
tree7cab9aa18a3f9cc1d30d1e8a2cde2f19d357ffdf /drivers
parent8fc29ba65bd669b8f23a46b4760f3ba773e2a635 (diff)
downloadlinux-3.10-80871e63e410c53524ef47eaf475c13e0f164ea6.tar.gz
linux-3.10-80871e63e410c53524ef47eaf475c13e0f164ea6.tar.bz2
linux-3.10-80871e63e410c53524ef47eaf475c13e0f164ea6.zip
e1000: add shutdown handler back to fix WOL
Someone was waaay too aggressive and removed e1000's reboot notifier instead of porting it to the new way of the shutdown handler. This change broke wake on lan. Add the shutdown handler back in using the same method as e100 uses. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> (cherry picked from c653e6351e371b33b29871e5eedf610ffb3be037 commit)
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/e1000/e1000_main.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
index c99e87838f9..ed15fcaedaf 100644
--- a/drivers/net/e1000/e1000_main.c
+++ b/drivers/net/e1000/e1000_main.c
@@ -220,6 +220,7 @@ static void e1000_restore_vlan(struct e1000_adapter *adapter);
static int e1000_suspend(struct pci_dev *pdev, pm_message_t state);
static int e1000_resume(struct pci_dev *pdev);
#endif
+static void e1000_shutdown(struct pci_dev *pdev);
#ifdef CONFIG_NET_POLL_CONTROLLER
/* for netdump / net console */
@@ -235,8 +236,9 @@ static struct pci_driver e1000_driver = {
/* Power Managment Hooks */
#ifdef CONFIG_PM
.suspend = e1000_suspend,
- .resume = e1000_resume
+ .resume = e1000_resume,
#endif
+ .shutdown = e1000_shutdown
};
MODULE_AUTHOR("Intel Corporation, <linux.nics@intel.com>");
@@ -4611,6 +4613,12 @@ e1000_resume(struct pci_dev *pdev)
return 0;
}
#endif
+
+static void e1000_shutdown(struct pci_dev *pdev)
+{
+ e1000_suspend(pdev, PMSG_SUSPEND);
+}
+
#ifdef CONFIG_NET_POLL_CONTROLLER
/*
* Polling 'interrupt' - used by things like netconsole to send skbs