diff options
author | Auke Kok <auke-jan.h.kok@intel.com> | 2006-05-23 16:35:57 -0400 |
---|---|---|
committer | Auke Kok <juke-jan.h.kok@intel.com> | 2006-05-23 16:35:57 -0400 |
commit | c653e6351e371b33b29871e5eedf610ffb3be037 (patch) | |
tree | 401b966e60317c09c6f2b2d5cd81bfbc0d9e3aeb /drivers/net | |
parent | 4e3ceac609cce39cb96e0eb8604934592371ed8c (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>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/e1000/e1000_main.c | 10 |
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); | |||
221 | static int e1000_suspend(struct pci_dev *pdev, pm_message_t state); | 221 | static int e1000_suspend(struct pci_dev *pdev, pm_message_t state); |
222 | static int e1000_resume(struct pci_dev *pdev); | 222 | static int e1000_resume(struct pci_dev *pdev); |
223 | #endif | 223 | #endif |
224 | static 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 | ||
243 | MODULE_AUTHOR("Intel Corporation, <linux.nics@intel.com>"); | 245 | MODULE_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 | |||
4611 | static 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 |