forcedeth: fix tx timeout
authorAyaz Abdulla <aabdulla@nvidia.com>
Fri, 23 Mar 2007 10:50:02 +0000 (05:50 -0500)
committerJeff Garzik <jeff@garzik.org>
Wed, 28 Mar 2007 06:18:51 +0000 (02:18 -0400)
The tx timeout routine was waking the tx queue conditionally. However,
it must call it unconditionally since the dev_watchdog has halted the tx
queue before calling the timeout function.

Signed-Off-By: Ayaz Abdulla <aabdulla@nvidia.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/net/forcedeth.c

index ae4e6f9..d04214e 100644 (file)
@@ -2050,9 +2050,10 @@ static void nv_tx_timeout(struct net_device *dev)
                nv_drain_tx(dev);
                nv_init_tx(dev);
                setup_hw_rings(dev, NV_SETUP_TX_RING);
-               netif_wake_queue(dev);
        }
 
+       netif_wake_queue(dev);
+
        /* 4) restart tx engine */
        nv_start_tx(dev);
        spin_unlock_irq(&np->lock);