diff options
author | Stephen Hemminger <shemminger@osdl.org> | 2005-12-09 14:35:08 -0500 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-12-12 15:27:21 -0500 |
commit | 8c463ef7928d7a42bb9ca410df9b294dc01c1850 (patch) | |
tree | 37615a7fc948094d2780aab66a354af0d4609d03 /drivers/net | |
parent | 8cc048e338ad4034255f3ff72ef1f631963e1263 (diff) |
[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 <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/sky2.c | 11 |
1 files changed, 8 insertions, 3 deletions
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) | |||
1081 | return NETDEV_TX_LOCKED; | 1081 | return NETDEV_TX_LOCKED; |
1082 | 1082 | ||
1083 | if (unlikely(tx_avail(sky2) < tx_le_req(skb))) { | 1083 | if (unlikely(tx_avail(sky2) < tx_le_req(skb))) { |
1084 | netif_stop_queue(dev); | 1084 | /* There is a known but harmless race with lockless tx |
1085 | * and netif_stop_queue. | ||
1086 | */ | ||
1087 | if (!netif_queue_stopped(dev)) { | ||
1088 | netif_stop_queue(dev); | ||
1089 | printk(KERN_WARNING PFX "%s: ring full when queue awake!\n", | ||
1090 | dev->name); | ||
1091 | } | ||
1085 | spin_unlock(&sky2->tx_lock); | 1092 | spin_unlock(&sky2->tx_lock); |
1086 | 1093 | ||
1087 | printk(KERN_WARNING PFX "%s: ring full when queue awake!\n", | ||
1088 | dev->name); | ||
1089 | return NETDEV_TX_BUSY; | 1094 | return NETDEV_TX_BUSY; |
1090 | } | 1095 | } |
1091 | 1096 | ||