|
@@ -391,6 +391,7 @@ static void read_bulk_callback(struct urb *urb)
|
|
|
u16 rx_stat;
|
|
|
int status = urb->status;
|
|
|
int result;
|
|
|
+ unsigned long flags;
|
|
|
|
|
|
dev = urb->context;
|
|
|
if (!dev)
|
|
@@ -432,9 +433,9 @@ static void read_bulk_callback(struct urb *urb)
|
|
|
netdev->stats.rx_packets++;
|
|
|
netdev->stats.rx_bytes += pkt_len;
|
|
|
|
|
|
- spin_lock(&dev->rx_pool_lock);
|
|
|
+ spin_lock_irqsave(&dev->rx_pool_lock, flags);
|
|
|
skb = pull_skb(dev);
|
|
|
- spin_unlock(&dev->rx_pool_lock);
|
|
|
+ spin_unlock_irqrestore(&dev->rx_pool_lock, flags);
|
|
|
if (!skb)
|
|
|
goto resched;
|
|
|
|