netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 11/14] ipw2200: Add pci .shutdown handler
@ 2006-08-21  3:38 Zhu Yi
  0 siblings, 0 replies; only message in thread
From: Zhu Yi @ 2006-08-21  3:38 UTC (permalink / raw)
  To: netdev, John W. Linville

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>

---

 drivers/net/wireless/ipw2200.c |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

4c30e540c4cf2dd75fd82ac7d4f3a7ce80b9b32f
diff --git a/drivers/net/wireless/ipw2200.c b/drivers/net/wireless/ipw2200.c
index e18fbca..1525830 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
 }
 #endif
 
+static void ipw_pci_shutdown(struct pci_dev *pdev)
+{
+	struct ipw_priv *priv = pci_get_drvdata(pdev);
+
+	/* Take down the device; powers it off, etc. */
+	ipw_down(priv);
+
+	pci_disable_device(pdev);
+}
+
 /* driver initialization stuff */
 static struct pci_driver ipw_driver = {
 	.name = DRV_NAME,
@@ -11745,6 +11755,7 @@ static struct pci_driver ipw_driver = {
 	.suspend = ipw_pci_suspend,
 	.resume = ipw_pci_resume,
 #endif
+	.shutdown = ipw_pci_shutdown,
 };
 
 static int __init ipw_init(void)
-- 
1.2.6

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2006-08-21  3:40 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-08-21  3:38 [PATCH 11/14] ipw2200: Add pci .shutdown handler Zhu Yi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).