From: Auke Kok Date: Mon, 29 Jan 2007 22:31:16 +0000 (-0800) Subject: e100: fix irq leak on suspend/resume X-Git-Tag: v2.6.20-rc7~18^2~2 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=518d83382568964ca9657511140398ebac925ecd;p=linux-2.6 e100: fix irq leak on suspend/resume e100: fix irq leak on suspend/resume From: Frederik Deweerdt 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 Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik --- diff --git a/drivers/net/e100.c b/drivers/net/e100.c index c2ae2a2462..3208dac291 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;