Messages in this thread Patch in this message | | | Date | Sat, 14 Jul 2001 03:21:46 +0900 | From | Masaru Kawashima <> | Subject | [PATCH] Re: [MINOR PROBLEM] RTL8139C: transmit timed out |
| |
Hi!
> Jul 12 20:36:43 wiibroe kernel: NETDEV WATCHDOG: eth0: transmit timed out
I had the same problem with linux-2.4.6-ac2, and I found a bug in the function rtl8139_start_xmit() of 8139too.c.
Attached patch will fix this bug.
Enjoy! -- Masaru Kawashima <masaruk@gol.com> --- drivers/net/8139too.c.orig Wed Jul 4 14:34:27 2001 +++ drivers/net/8139too.c Sat Jul 14 02:34:50 2001 @@ -1732,7 +1732,6 @@ RTL_W32_F (TxAddr0 + (entry * 4), dma_addr); RTL_W32_F (TxStatus0 + (entry * sizeof (u32)), tp->tx_flag | (skb->len >= ETH_ZLEN ? skb->len : ETH_ZLEN)); - spin_unlock_irq(&tp->lock); dev->trans_start = jiffies; @@ -1740,6 +1739,7 @@ mb(); if ((tp->cur_tx - NUM_TX_DESC) == tp->dirty_tx) netif_stop_queue (dev); + spin_unlock_irq(&tp->lock); DPRINTK ("%s: Queued Tx packet at %p size %u to slot %d.\n", dev->name, skb->data, skb->len, entry); | |