diff options
author | Ayaz Abdulla <aabdulla@nvidia.com> | 2007-03-23 05:50:02 -0500 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-03-28 02:18:51 -0400 |
commit | 3ba4d093fe8a26f5f2da94411bf8732fa6e9da86 (patch) | |
tree | cda2fbf167d31a8ad5720eeeacfa2c040a3a51a9 /drivers/net/forcedeth.c | |
parent | fcc5f2665c81e087fb95143325ed769a41128d50 (diff) | |
download | linux-3ba4d093fe8a26f5f2da94411bf8732fa6e9da86.tar.gz linux-3ba4d093fe8a26f5f2da94411bf8732fa6e9da86.tar.bz2 linux-3ba4d093fe8a26f5f2da94411bf8732fa6e9da86.zip |
forcedeth: fix tx timeout
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>
Diffstat (limited to 'drivers/net/forcedeth.c')
-rw-r--r-- | drivers/net/forcedeth.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/forcedeth.c b/drivers/net/forcedeth.c index ae4e6f9375c8..d04214e4e581 100644 --- a/drivers/net/forcedeth.c +++ b/drivers/net/forcedeth.c @@ -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); |