kernel: NETDEV WATCHDOG: eth2: transmit timed out kernel: eth2: transmit timed out, tx_status 00 status e000. kernel: diagnostics: net 0ccc media 8880 dma 000000a0 fifo 0000 kernel: Flags; bus-master 1, dirty 166045(13) current 166061(13) kernel: Transmit list 36f2da20 vs. f6f2da20. kernel: 0: @f6f2d200 length 80000036 status 00000036 kernel: 1: @f6f2d2a0 length 8000003e status 0000003e kernel: 2: @f6f2d340 length 80000036 status 00000036 kernel: 3: @f6f2d3e0 length 8000003e status 0000003e kernel: 4: @f6f2d480 length 8000003e status 0000003e kernel: 5: @f6f2d520 length 800005ea status 000005ea kernel: 6: @f6f2d5c0 length 800005ea status 000005ea kernel: 7: @f6f2d660 length 8000003e status 0000003e kernel: 8: @f6f2d700 length 800005ae status 000005ae kernel: 9: @f6f2d7a0 length 800005ea status 000005ea kernel: 10: @f6f2d840 length 80000036 status 00000036 kernel: 11: @f6f2d8e0 length 800000ca status 800000ca kernel: 12: @f6f2d980 length 800000d9 status 800000d9 kernel: 13: @f6f2da20 length 80000a8d status 00000a8d kernel: 14: @f6f2dac0 length 800005ea status 000005ea kernel: 15: @f6f2db60 length 800005ea status 000005ea kernel: eth2: Resetting the Tx ring pointer.
But sometimes there are problems on RX too. The max_interrupt_work parameter will give you a message like this: "too much work on interrupt".
I set RX_RING_SIZE and TX_RING_SIZE to 64 (like eepro100 driver) but seems to be small too. It's give me the message more rarly, but is stil buggy.
I set to TX_RING_SIZE to 1024 and RX_RING_SIZE to 2048 seems to work fine. I've tested to a traffic about 97-99 Mbit and seems to be ok.
After increase those pararameters to this values, my network cards work very well, there are rarely overruns packages.