[PATCH] b44: fix suspend/resume
Fix suspend/resume on b44 by freeing/reacquiring irq. Otherwise it hangs on resume. Signed-off-by: Pavel Machek <pavel@suse.cz> Cc: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
This commit is contained in:
parent
a1bfcd9741
commit
46e1785358
|
@ -2041,6 +2041,8 @@ static int b44_suspend(struct pci_dev *pdev, pm_message_t state)
|
|||
b44_free_rings(bp);
|
||||
|
||||
spin_unlock_irq(&bp->lock);
|
||||
|
||||
free_irq(dev->irq, dev);
|
||||
pci_disable_device(pdev);
|
||||
return 0;
|
||||
}
|
||||
|
@ -2057,6 +2059,9 @@ static int b44_resume(struct pci_dev *pdev)
|
|||
if (!netif_running(dev))
|
||||
return 0;
|
||||
|
||||
if (request_irq(dev->irq, b44_interrupt, SA_SHIRQ, dev->name, dev))
|
||||
printk(KERN_ERR PFX "%s: request_irq failed\n", dev->name);
|
||||
|
||||
spin_lock_irq(&bp->lock);
|
||||
|
||||
b44_init_rings(bp);
|
||||
|
|
Loading…
Reference in New Issue