Selaa lähdekoodia

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>
Ayaz Abdulla 18 vuotta sitten
vanhempi
commit
3ba4d093fe
1 muutettua tiedostoa jossa 2 lisäystä ja 1 poistoa
  1. 2 1
      drivers/net/forcedeth.c

+ 2 - 1
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);