diff options
author | Brent Cook <bcook@bpointsys.com> | 2006-04-11 21:23:15 -0400 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2006-04-12 18:11:23 -0400 |
commit | 5c5374087707d7848cb13f15e7c175daf346301c (patch) | |
tree | 67c56fd643e1e0ff508e94f0570d4e89b29b6d7a /drivers/net/mv643xx_eth.c | |
parent | e19360f2945f54eb44ae170ec9c33910d29834a2 (diff) |
[PATCH] mv643xx_eth: Always free completed tx descs on tx interrupt
Fix the tx interrupt handler to free completed tx descriptors even
when NAPI is enabled. Otherwise, the tx queue would fill up resulting
in poor performance and "NETDEV WATCHDOG: <iface>: transmit timed out"
messages.
Signed-off-by: Brent Cook <bcook@bpointsys.com>
Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net/mv643xx_eth.c')
-rw-r--r-- | drivers/net/mv643xx_eth.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/mv643xx_eth.c b/drivers/net/mv643xx_eth.c index 9f2661355a4a..85ac42c85aa9 100644 --- a/drivers/net/mv643xx_eth.c +++ b/drivers/net/mv643xx_eth.c | |||
@@ -552,9 +552,9 @@ static irqreturn_t mv643xx_eth_int_handler(int irq, void *dev_id, | |||
552 | #else | 552 | #else |
553 | if (eth_int_cause & ETH_INT_CAUSE_RX) | 553 | if (eth_int_cause & ETH_INT_CAUSE_RX) |
554 | mv643xx_eth_receive_queue(dev, INT_MAX); | 554 | mv643xx_eth_receive_queue(dev, INT_MAX); |
555 | #endif | ||
555 | if (eth_int_cause_ext & ETH_INT_CAUSE_TX) | 556 | if (eth_int_cause_ext & ETH_INT_CAUSE_TX) |
556 | mv643xx_eth_free_completed_tx_descs(dev); | 557 | mv643xx_eth_free_completed_tx_descs(dev); |
557 | #endif | ||
558 | 558 | ||
559 | /* | 559 | /* |
560 | * If no real interrupt occured, exit. | 560 | * If no real interrupt occured, exit. |