diff options
Diffstat (limited to 'drivers/net/b44.c')
| -rw-r--r-- | drivers/net/b44.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/b44.c b/drivers/net/b44.c index 474a4e3438db..5eb2ec68393f 100644 --- a/drivers/net/b44.c +++ b/drivers/net/b44.c | |||
| @@ -879,12 +879,14 @@ static int b44_poll(struct net_device *netdev, int *budget) | |||
| 879 | } | 879 | } |
| 880 | 880 | ||
| 881 | if (bp->istat & ISTAT_ERRORS) { | 881 | if (bp->istat & ISTAT_ERRORS) { |
| 882 | spin_lock_irq(&bp->lock); | 882 | unsigned long flags; |
| 883 | |||
| 884 | spin_lock_irqsave(&bp->lock, flags); | ||
| 883 | b44_halt(bp); | 885 | b44_halt(bp); |
| 884 | b44_init_rings(bp); | 886 | b44_init_rings(bp); |
| 885 | b44_init_hw(bp, 1); | 887 | b44_init_hw(bp, 1); |
| 886 | netif_wake_queue(bp->dev); | 888 | netif_wake_queue(bp->dev); |
| 887 | spin_unlock_irq(&bp->lock); | 889 | spin_unlock_irqrestore(&bp->lock, flags); |
| 888 | done = 1; | 890 | done = 1; |
| 889 | } | 891 | } |
| 890 | 892 | ||
