aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAuke Kok <auke-jan.h.kok@intel.com>2006-05-23 16:35:57 -0400
committerAuke Kok <juke-jan.h.kok@intel.com>2006-05-23 16:35:57 -0400
commitc653e6351e371b33b29871e5eedf610ffb3be037 (patch)
tree401b966e60317c09c6f2b2d5cd81bfbc0d9e3aeb
parent4e3ceac609cce39cb96e0eb8604934592371ed8c (diff)
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>
-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 fb8cef619142..df819c1275a4 100644
--- a/drivers/net/e1000/e1000_main.c
+++ b/drivers/net/e1000/e1000_main.c
@@ -221,6 +221,7 @@ static void e1000_restore_vlan(struct e1000_adapter *adapter);
221static int e1000_suspend(struct pci_dev *pdev, pm_message_t state); 221static int e1000_suspend(struct pci_dev *pdev, pm_message_t state);
222static int e1000_resume(struct pci_dev *pdev); 222static int e1000_resume(struct pci_dev *pdev);
223#endif 223#endif
224static void e1000_shutdown(struct pci_dev *pdev);
224 225
225#ifdef CONFIG_NET_POLL_CONTROLLER 226#ifdef CONFIG_NET_POLL_CONTROLLER
226/* for netdump / net console */ 227/* for netdump / net console */
@@ -236,8 +237,9 @@ static struct pci_driver e1000_driver = {
236 /* Power Managment Hooks */ 237 /* Power Managment Hooks */
237#ifdef CONFIG_PM 238#ifdef CONFIG_PM
238 .suspend = e1000_suspend, 239 .suspend = e1000_suspend,
239 .resume = e1000_resume 240 .resume = e1000_resume,
240#endif 241#endif
242 .shutdown = e1000_shutdown
241}; 243};
242 244
243MODULE_AUTHOR("Intel Corporation, <linux.nics@intel.com>"); 245MODULE_AUTHOR("Intel Corporation, <linux.nics@intel.com>");
@@ -4605,6 +4607,12 @@ e1000_resume(struct pci_dev *pdev)
4605 return 0; 4607 return 0;
4606} 4608}
4607#endif 4609#endif
4610
4611static void e1000_shutdown(struct pci_dev *pdev)
4612{
4613 e1000_suspend(pdev, PMSG_SUSPEND);
4614}
4615
4608#ifdef CONFIG_NET_POLL_CONTROLLER 4616#ifdef CONFIG_NET_POLL_CONTROLLER
4609/* 4617/*
4610 * Polling 'interrupt' - used by things like netconsole to send skbs 4618 * Polling 'interrupt' - used by things like netconsole to send skbs