Commit 46e17853 authored by Pavel Machek's avatar Pavel Machek Committed by Jeff Garzik

[PATCH] b44: fix suspend/resume

Fix suspend/resume on b44 by freeing/reacquiring irq.  Otherwise it hangs
on resume.
Signed-off-by: default avatarPavel Machek <pavel@suse.cz>
Cc: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarJeff Garzik <jgarzik@pobox.com>
parent a1bfcd97
...@@ -2041,6 +2041,8 @@ static int b44_suspend(struct pci_dev *pdev, pm_message_t state) ...@@ -2041,6 +2041,8 @@ static int b44_suspend(struct pci_dev *pdev, pm_message_t state)
b44_free_rings(bp); b44_free_rings(bp);
spin_unlock_irq(&bp->lock); spin_unlock_irq(&bp->lock);
free_irq(dev->irq, dev);
pci_disable_device(pdev); pci_disable_device(pdev);
return 0; return 0;
} }
...@@ -2057,6 +2059,9 @@ static int b44_resume(struct pci_dev *pdev) ...@@ -2057,6 +2059,9 @@ static int b44_resume(struct pci_dev *pdev)
if (!netif_running(dev)) if (!netif_running(dev))
return 0; 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); spin_lock_irq(&bp->lock);
b44_init_rings(bp); b44_init_rings(bp);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment