summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAuke Kok <auke-jan.h.kok@intel.com>2007-01-29 14:31:16 -0800
committerJeff Garzik <jeff@garzik.org>2007-01-30 09:36:02 -0500
commit518d83382568964ca9657511140398ebac925ecd (patch)
tree8d12028501a365ed134d279feecfb9c6f333cf56
parentf8a8ccd56d82bd4f4b5c7c2e7eb758c7764d98e1 (diff)
downloadlinux-3.10-518d83382568964ca9657511140398ebac925ecd.tar.gz
linux-3.10-518d83382568964ca9657511140398ebac925ecd.tar.bz2
linux-3.10-518d83382568964ca9657511140398ebac925ecd.zip
e100: fix irq leak on suspend/resume
e100: fix irq leak on suspend/resume From: Frederik Deweerdt <frederik.deweerdt@gmail.com> The e100_resume() function should be calling netif_device_detach and free_irq. This fixes multiple irq's being allocated after resume. Signed-off-by: Frederik Deweerdt <frederik.deweerdt@gmail.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
-rw-r--r--drivers/net/e100.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/e100.c b/drivers/net/e100.c
index c2ae2a24629..3208dac2916 100644
--- a/drivers/net/e100.c
+++ b/drivers/net/e100.c
@@ -2725,6 +2725,7 @@ static int e100_suspend(struct pci_dev *pdev, pm_message_t state)
del_timer_sync(&nic->watchdog);
netif_carrier_off(nic->netdev);
+ netif_device_detach(netdev);
pci_save_state(pdev);
if ((nic->flags & wol_magic) | e100_asf(nic)) {
@@ -2736,6 +2737,7 @@ static int e100_suspend(struct pci_dev *pdev, pm_message_t state)
}
pci_disable_device(pdev);
+ free_irq(pdev->irq, netdev);
pci_set_power_state(pdev, PCI_D3hot);
return 0;