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>
This commit is contained in:
parent
f8a8ccd56d
commit
518d833825
1 changed files with 2 additions and 0 deletions
|
@ -2725,6 +2725,7 @@ static int e100_suspend(struct pci_dev *pdev, pm_message_t state)
|
||||||
del_timer_sync(&nic->watchdog);
|
del_timer_sync(&nic->watchdog);
|
||||||
netif_carrier_off(nic->netdev);
|
netif_carrier_off(nic->netdev);
|
||||||
|
|
||||||
|
netif_device_detach(netdev);
|
||||||
pci_save_state(pdev);
|
pci_save_state(pdev);
|
||||||
|
|
||||||
if ((nic->flags & wol_magic) | e100_asf(nic)) {
|
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);
|
pci_disable_device(pdev);
|
||||||
|
free_irq(pdev->irq, netdev);
|
||||||
pci_set_power_state(pdev, PCI_D3hot);
|
pci_set_power_state(pdev, PCI_D3hot);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in a new issue