Ben Greear wrote:
> This happened after I pulled the ethernet link (and re-inserted). The
> other end of the cable went into a no-name 10/100 Etherswitch.
...
> Jun 1 18:28:10 candle kernel: eth1: Transmit timed out, status ec90a910,
> CSR12 45e1d0cc, resetting...
> Jun 1 18:28:15 candle kernel: eth1: Transmit timed out, status ec92a910,
> CSR12 45e1d0cc, resetting...
> Jun 1 18:28:50 candle last message repeated 7 times
> Jun 1 18:29:55 candle last message repeated 13 times
>
> This seems to have 'fixed' it:
> ip link set eth1 down
> ip link set eth1 up
>
> This is not reproducible, at least not easily (I just tried pulling the link
> several
> times, and it's working fine...)
This looks like a problem I had with a 3c590 card recently. When
tulip_tx_timeout() is called from tulip_start_xmit(), dev->tbusy is
never cleared, and whenever tulip_start_xmit() is called after this, it
will call tulip_tx_timeout() as dev->tbusy remains set. You could try
adding the line "clear_bit(0, (void*)&dev->tbusy);" to the bottom of
tulip_tx_timeout().
Regards,
Anders K. Pedersen
|