[TG3]: remove warning on race
authorStephen Hemminger <shemminger@osdl.org>
Wed, 7 Dec 2005 01:36:44 +0000 (17:36 -0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 7 Dec 2005 01:36:44 +0000 (17:36 -0800)
[ Move assosciated code comment to the correct spot, and
  update driver version and release date -DaveM ]

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/tg3.c

index 1828a6bf845829267475b6e8e0bacee6f735dbd4..47bd4a39442099bfa5640b79781b4438afeb7563 100644 (file)
@@ -68,8 +68,8 @@
 
 #define DRV_MODULE_NAME                "tg3"
 #define PFX DRV_MODULE_NAME    ": "
-#define DRV_MODULE_VERSION     "3.43"
-#define DRV_MODULE_RELDATE     "Oct 24, 2005"
+#define DRV_MODULE_VERSION     "3.44"
+#define DRV_MODULE_RELDATE     "Dec 6, 2005"
 
 #define TG3_DEF_MAC_MODE       0
 #define TG3_DEF_RX_MODE                0
@@ -3565,12 +3565,15 @@ static int tg3_start_xmit(struct sk_buff *skb, struct net_device *dev)
        if (!spin_trylock(&tp->tx_lock))
                return NETDEV_TX_LOCKED; 
 
-       /* This is a hard error, log it. */
        if (unlikely(TX_BUFFS_AVAIL(tp) <= (skb_shinfo(skb)->nr_frags + 1))) {
-               netif_stop_queue(dev);
+               if (!netif_queue_stopped(dev)) {
+                       netif_stop_queue(dev);
+
+                       /* This is a hard error, log it. */
+                       printk(KERN_ERR PFX "%s: BUG! Tx Ring full when "
+                              "queue awake!\n", dev->name);
+               }
                spin_unlock(&tp->tx_lock);
-               printk(KERN_ERR PFX "%s: BUG! Tx Ring full when queue awake!\n",
-                      dev->name);
                return NETDEV_TX_BUSY;
        }