mirror of
https://github.com/torvalds/linux.git
synced 2024-10-31 17:21:49 +00:00
[PATCH] skge: get rid of warning on race
Get rid of warning in case of race with ring full and lockless tx on the skge driver. It is possible to be in the transmit routine with no available slots and already stopped. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
This commit is contained in:
parent
0e67050666
commit
ee1c81917a
@ -2280,11 +2280,13 @@ static int skge_xmit_frame(struct sk_buff *skb, struct net_device *dev)
|
||||
}
|
||||
|
||||
if (unlikely(skge->tx_avail < skb_shinfo(skb)->nr_frags +1)) {
|
||||
netif_stop_queue(dev);
|
||||
spin_unlock_irqrestore(&skge->tx_lock, flags);
|
||||
if (!netif_stopped(dev)) {
|
||||
netif_stop_queue(dev);
|
||||
|
||||
printk(KERN_WARNING PFX "%s: ring full when queue awake!\n",
|
||||
dev->name);
|
||||
printk(KERN_WARNING PFX "%s: ring full when queue awake!\n",
|
||||
dev->name);
|
||||
}
|
||||
spin_unlock_irqrestore(&skge->tx_lock, flags);
|
||||
return NETDEV_TX_BUSY;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user