Преглед на файлове

[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>
Zhu Yi преди 19 години
родител
ревизия
c8c22c942e
променени са 1 файла, в които са добавени 11 реда и са изтрити 0 реда
  1. 11 0
      drivers/net/wireless/ipw2200.c

+ 11 - 0
drivers/net/wireless/ipw2200.c

@@ -11735,6 +11735,16 @@ static int ipw_pci_resume(struct pci_dev *pdev)
 }
 #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)