I changed my pc (but kept the card) and watchdog timeouts are less frequent, but they eventually happen along with packet corruption. With my earlier pc and kernel i could produce it just by doing a "ping -f" in the lan, but now it happens more randomly. The symptoms are that 2 bytes of data are inserted before the rest of data in the frame (i captured it with ethereal) or maybe that the pointer is wrong by 2 bytes. While doing a flood ping i got normal ping replies: 0000 00 40 d0 21 96 b2 00 02 44 1f 5f 59 08 00 45 00 .@.!.... D._Y..E. 0010 00 54 e3 ef 00 00 40 01 4b d7 d9 d9 09 84 d9 d8 .T....@. K....... 0020 8d ac 00 00 21 12 8e 09 a3 01 40 88 65 ca 00 07 ....!... ..@.e... 0030 1c 86 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 ........ ........ 0040 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 ........ .. !"#$% 0050 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 &'()*+,- ./012345 and also a wrong one, note there is extra "00 00" at the begining but there are 2 bytes missing at the end: 0000 00 00 00 40 d0 21 96 b2 00 02 44 1f 5f 59 08 00 ...@.!.. ..D._Y.. 0010 45 00 00 54 e3 f0 00 00 40 01 4b d6 d9 d9 09 84 E..T.... @.K..... 0020 d9 d8 8d ac 00 00 f8 9f 8e 09 a4 01 40 88 65 ca ........ ....@.e. 0030 00 07 43 f8 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 ..C..... ........ 0040 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 ........ .... !"# 0050 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 $%&'()*+ ,-./0123 Today i got this error: eth0: Promiscuous mode enabled. device eth0 left promiscuous mode NETDEV WATCHDOG: eth0: transmit timed out eth0: Transmit timed out, status 00000000, resetting... Rx ring cf6b4000: 80000000 80000000 80000000 80000000 80000000 80000000 80000000 80000000 80000000 80000000 80000000 80000000 Tx ring cf6b5000: 80000000 80000000 0000 80000000 80000000 80000000 Badness in local_bh_enable at kernel/softirq.c:136 [] local_bh_enable+0x89/0x90 [] ip_ct_find_proto+0x34/0x50 [] destroy_conntrack+0x10/0x100 [] __kfree_skb+0x98/0x120 [] reset_tx_descriptors+0x5c/0xb0 [fealnx] [] tx_timeout+0xc8/0x130 [fealnx] [] dev_watchdog+0x0/0xc0 [] dev_watchdog+0xae/0xc0 [] run_timer_softirq+0xca/0x190 [] do_timer+0xc7/0xd0 [] __do_softirq+0x79/0x80 [] do_softirq+0x27/0x30 [] do_IRQ+0xf9/0x130 [] common_interrupt+0x18/0x20 PS: nice my patch for mac address got in the official tree but, do you think it'd be better if it the driver implemented it's own "set_mac_address" function so only then it would update the card's registers and try to mess the less possible?