diff options
Diffstat (limited to 'drivers/net/b44.c')
| -rw-r--r-- | drivers/net/b44.c | 5 | 
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/b44.c b/drivers/net/b44.c index 36d4d377ec2..bafca672ea7 100644 --- a/drivers/net/b44.c +++ b/drivers/net/b44.c @@ -952,9 +952,10 @@ static int b44_start_xmit(struct sk_buff *skb, struct net_device *dev)  	int rc = NETDEV_TX_OK;  	dma_addr_t mapping;  	u32 len, entry, ctrl; +	unsigned long flags;  	len = skb->len; -	spin_lock_irq(&bp->lock); +	spin_lock_irqsave(&bp->lock, flags);  	/* This is a hard error, log it. */  	if (unlikely(TX_BUFFS_AVAIL(bp) < 1)) { @@ -1027,7 +1028,7 @@ static int b44_start_xmit(struct sk_buff *skb, struct net_device *dev)  	dev->trans_start = jiffies;  out_unlock: -	spin_unlock_irq(&bp->lock); +	spin_unlock_irqrestore(&bp->lock, flags);  	return rc;  |