Skip to content

Commit

Permalink
[PATCH] b44: fix suspend/resume
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Pavel Machek authored and Jeff Garzik committed Oct 28, 2005
1 parent a1bfcd9 commit 46e1785
Showing 1 changed file with 5 additions and 0 deletions.
5 changes: 5 additions & 0 deletions drivers/net/b44.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
Expand All @@ -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);
Expand Down

0 comments on commit 46e1785

Please sign in to comment.