I have seen several tx_timeouts on my two Au15xx-based boards
- myCable XXS1500, Rev.B, Au1500-based, and
- Kurz NVB, Au1550-based, not in kernel-tree.
I am running these boards in bridging mode and under kernel 2.6.16-rc6.
the timeout also appears under earlier versions, and it appears when I
cause high network load (rcp big files through the bridge).
the tx_timeout function does the re-init, but it does not re-establish
the promiscuous mode (which is set when bridging).
the patch I attached does this with a call to set_rx_mode(), and it also
introduces calls to netdev_priv(), which should be used according to
Rubini et.al. "Linux Device Drivers", 3rd edition, o-reilly.
on the 2.6.1x systems, the timeout appears after some 5 seconds, under
2.4.31 I thought it did not appear, but after half an hour of full load
I've seen it there, too. now this makes me wonder why it takes only a
few seconds to have a tx timeout under 2.6 and half an hour under 2.4.
would anybody apply the patch to the official sources? should some
timeout constant be changed to reduce the number of timeouts under 2.6?
Description: Text document