File diff 95e39e5412bd → bd21c8aa7237
vmkdrivers/src_92/drivers/usb/net/usbnet.c
Show inline comments
...
 
@@ -275,14 +275,17 @@ static void defer_bh(struct usbnet *dev, struct sk_buff *skb, struct sk_buff_hea
 

	
 
	spin_lock_irqsave(&list->lock, flags);
 
	__skb_unlink(skb, list);
 
	spin_unlock(&list->lock);
 
	spin_lock(&dev->done.lock);
 
	__skb_queue_tail(&dev->done, skb);
 
	if (dev->done.qlen == 1)
 
	if (dev->done.qlen == 1) {
 
		spin_unlock_irqrestore(&dev->done.lock, flags);
 
		tasklet_schedule(&dev->bh);
 
		return;
 
	}
 
	spin_unlock_irqrestore(&dev->done.lock, flags);
 
}
 

	
 
/* some work can't be done in tasklets, so we use keventd
 
 *
 
 * NOTE:  annoying asymmetry:  if it's active, schedule_work() fails,