Re: [PATCH 1/1] 8139cp: implement the missing dev->tx_timeout
From: Arnaldo Carvalho de Melo <hidden>
Date: 2007-07-17 01:24:46
On 7/13/07, Francois Romieu [off-list ref] wrote:
quoted hunk ↗ jump to hunk
Signed-off-by: Mika Lansirinne <redacted> --- drivers/net/8139cp.c | 27 ++++++++++++++++++++++++--- 1 files changed, 24 insertions(+), 3 deletions(-)diff --git a/drivers/net/8139cp.c b/drivers/net/8139cp.c index 807e699..e970e64 100644 --- a/drivers/net/8139cp.c +++ b/drivers/net/8139cp.c@@ -26,7 +26,6 @@ TODO: * Test Tx checksumming thoroughly - * Implement dev->tx_timeout Low priority TODO: * Complete reset on PciErr@@ -1218,6 +1217,30 @@ static int cp_close (struct net_device *dev) return 0; } +static void cp_tx_timeout(struct net_device *dev) +{ + struct cp_private *cp = netdev_priv(dev); + unsigned long flags; + int rc;
What is the point of this variable...
+ + printk(KERN_WARNING "%s: Transmit timeout, status %2x %4x %4x %4x\n", + dev->name, cpr8(Cmd), cpr16(CpCmd), + cpr16(IntrStatus), cpr16(IntrMask)); + + spin_lock_irqsave(&cp->lock, flags); + + cp_stop_hw(cp); + cp_clean_rings(cp); + rc = cp_init_rings(cp);
... if it is set and ...
+ cp_start_hw(cp); + + netif_wake_queue(dev); + + spin_unlock_irqrestore(&cp->lock, flags); + + return; +}
... never used? - Arnaldo