diff options
author | Zhu Yi <yi.zhu@intel.com> | 2006-08-20 23:38:39 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2006-08-29 17:06:33 -0400 |
commit | c8c22c942e46ca0e06fc7c72845314da1ad41702 (patch) | |
tree | df4ed73123b9cb1cddac846c0d8c82370b638596 /drivers/net/wireless/ipw2200.c | |
parent | b9bec768c321e51a8da00d56230bc795464992b2 (diff) |
[PATCH] ipw2200: Add pci .shutdown handler
If we don't disable the card in the pci .shutdown method, there might be
pending interrupts still in the interrupt line after a reboot on some
platform. This patch fixes the problem by disable the hardware in the pci
.shutdown method.
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ipw2200.c')
-rw-r--r-- | drivers/net/wireless/ipw2200.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/net/wireless/ipw2200.c b/drivers/net/wireless/ipw2200.c index e18fbca83cef..15258301b643 100644 --- a/drivers/net/wireless/ipw2200.c +++ b/drivers/net/wireless/ipw2200.c | |||
@@ -11735,6 +11735,16 @@ static int ipw_pci_resume(struct pci_dev *pdev) | |||
11735 | } | 11735 | } |
11736 | #endif | 11736 | #endif |
11737 | 11737 | ||
11738 | static void ipw_pci_shutdown(struct pci_dev *pdev) | ||
11739 | { | ||
11740 | struct ipw_priv *priv = pci_get_drvdata(pdev); | ||
11741 | |||
11742 | /* Take down the device; powers it off, etc. */ | ||
11743 | ipw_down(priv); | ||
11744 | |||
11745 | pci_disable_device(pdev); | ||
11746 | } | ||
11747 | |||
11738 | /* driver initialization stuff */ | 11748 | /* driver initialization stuff */ |
11739 | static struct pci_driver ipw_driver = { | 11749 | static struct pci_driver ipw_driver = { |
11740 | .name = DRV_NAME, | 11750 | .name = DRV_NAME, |
@@ -11745,6 +11755,7 @@ static struct pci_driver ipw_driver = { | |||
11745 | .suspend = ipw_pci_suspend, | 11755 | .suspend = ipw_pci_suspend, |
11746 | .resume = ipw_pci_resume, | 11756 | .resume = ipw_pci_resume, |
11747 | #endif | 11757 | #endif |
11758 | .shutdown = ipw_pci_shutdown, | ||
11748 | }; | 11759 | }; |
11749 | 11760 | ||
11750 | static int __init ipw_init(void) | 11761 | static int __init ipw_init(void) |