From: Stephen Hemminger Date: Fri, 9 Dec 2005 19:35:08 +0000 (-0800) Subject: [PATCH] sky2: quiet ring full message in case of race X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=8c463ef7928d7a42bb9ca410df9b294dc01c1850;p=linux-beck.git [PATCH] sky2: quiet ring full message in case of race Don't print ring full message if we lose race. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik --- diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c index e1733aa17790..54947ae99482 100644 --- a/drivers/net/sky2.c +++ b/drivers/net/sky2.c @@ -1081,11 +1081,16 @@ static int sky2_xmit_frame(struct sk_buff *skb, struct net_device *dev) return NETDEV_TX_LOCKED; if (unlikely(tx_avail(sky2) < tx_le_req(skb))) { - netif_stop_queue(dev); + /* There is a known but harmless race with lockless tx + * and netif_stop_queue. + */ + if (!netif_queue_stopped(dev)) { + netif_stop_queue(dev); + printk(KERN_WARNING PFX "%s: ring full when queue awake!\n", + dev->name); + } spin_unlock(&sky2->tx_lock); - printk(KERN_WARNING PFX "%s: ring full when queue awake!\n", - dev->name); return NETDEV_TX_BUSY; }