Hi all, on my MPC8321E with linux-2.6.36 I get this netdev watchdog warning "NETDEV WATCHDOG: eth0 (of:ucc_geth): transmit queue 0 timed out" if the link mode is half-duplex. The warning is caused, because all Tx BDs are full and packet transmission is stopped with netif_stop_queue() in ucc_geth_start_xmit().
You can reproduce the bug in the following way: - Connect to a switch, that supports only 10baseT, or set the mode manually with "mii-diag -F 10baseT". - Open a telnet session to the target. Generate higher traffic with executing maybe "cat /proc/interrupts" many times. - After some tries the ethernet connection will be down, then again after approx. 30s seconds the netdev watchdog will dump the warning. It is unclear to me why the TxBDs get full. Due to missing "Tx buffer sent" interrupts, it seems that the QE stops the transmission. I found some issue in the errata: "QE_ENET20: UEC may stop transmitting after late collision". But UCCE[TXE] is never set in this case. Thank you for your help in advance and best regards, Andreas Schmitz Software Engineer _______________________________________ RIEDEL Communications GmbH & Co. KG Uellendahler Str. 353 42109 Wuppertal Germany
PHY: m...@e0102320:01 - Link is Up - 10/Half NETDEV WATCHDOG: eth0 (of:ucc_geth): transmit queue 0 timed out ------------[ cut here ]------------ WARNING: at net/sched/sch_generic.c:258 Modules linked in: gpio NIP: c01887c0 LR: c01887c0 CTR: c012b8d4 REGS: c3ffbe30 TRAP: 0700 Not tainted (2.6.36) MSR: 00029032 <EE,ME,CE,IR,DR> CR: 44022084 XER: 20000000 TASK = c07f6410[0] 'swapper' THREAD: c080e000 GPR00: c01887c0 c3ffbee0 c07f6410 00000046 00001848 ffffffff c012c2b0 2074696d GPR08: 00001808 c3ffa000 c0817eb8 00000004 00000000 1007d144 03fff000 c07f94e4 GPR16: 00200200 c020dcd4 00000000 00000001 c0837fc0 c08381ec c083826c c08382ec GPR24: c083836c 00000002 ffffffff 00000000 c3ffa03c c2607fa0 00000000 c2583000 NIP [c01887c0] dev_watchdog+0x198/0x28c LR [c01887c0] dev_watchdog+0x198/0x28c Call Trace: [c3ffbee0] [c01887c0] dev_watchdog+0x198/0x28c (unreliable) [c3ffbf50] [c003c9b0] run_timer_softirq+0x1b0/0x250 [c3ffbfb0] [c0036d18] __do_softirq+0xa8/0x124 [c3ffbff0] [c000e5dc] call_do_softirq+0x14/0x24 [c080fe70] [c0005e38] do_softirq+0x6c/0x8c [c080fe90] [c00367b4] irq_exit+0x3c/0x54 [c080fea0] [c0005fec] do_IRQ+0x128/0x144 [c080fec0] [c000f2ac] ret_from_except+0x0/0x14 --- Exception: 501 at cpu_idle+0x94/0xe4 LR = cpu_idle+0x94/0xe4 [c080ff80] [c00090c4] cpu_idle+0xe0/0xe4 (unreliable) [c080ffa0] [c0003e50] rest_init+0xa8/0xd8 [c080ffc0] [c023e80c] start_kernel+0x2b8/0x2cc [c080fff0] [00003438] 0x3438 Instruction dump: 2f800000 40be003c 38810008 7fe3fb78 38a00040 4bfeb799 7fc6f378 7fe4fb78 7c651b78 3c60c022 386316b0 4804f631 <0fe00000> 38000001 3d20c085 9809aa6c ---[ end trace 0cbe1c7362251e03 ]--- UCC2 Fast registers: Base address: 0xc91c6200 gumr : addr=0xc91c6200, val=0x0000003c upsmr : addr=0xc91c6204, val=0x02002000 utodr : addr=0xc91c6208, val=0x0000 udsr : addr=0xc91c620c, val=0x7e7e ucce : addr=0xc91c6210, val=0x00000000 uccm : addr=0xc91c6214, val=0x5fff00ff uccs : addr=0xc91c6218, val=0x00 urfb : addr=0xc91c6220, val=0x00001780 urfs : addr=0xc91c6224, val=0x0200 urfet : addr=0xc91c6228, val=0x0100 urfset: addr=0xc91c622a, val=0x0180 utfb : addr=0xc91c622c, val=0x00001580 utfs : addr=0xc91c6230, val=0x0200 utfet : addr=0xc91c6234, val=0x0100 utftt : addr=0xc91c6238, val=0x0200 utpt : addr=0xc91c623c, val=0x0100 urtry : addr=0xc91c6240, val=0x00000000 guemr : addr=0xc91c6290, val=0x13 UCC3 Geth registers: Base address: 0xc91ca200 maccfg1 : addr - 0xc91ca300, val - 0x0000003f maccfg2 : addr - 0xc91ca304, val - 0x00007124 ipgifg : addr - 0xc91ca308, val - 0x40605060 hafdup : addr - 0xc91ca30c, val - 0x00a1f037 ifctl : addr - 0xc91ca338, val - 0x01000000 ifstat : addr - 0xc91ca33c, val - 0x00000008 macstnaddr1: addr - 0xc91ca340, val - 0x4708007c macstnaddr2: addr - 0xc91ca344, val - 0x19000000 uempr : addr - 0xc91ca350, val - 0x00000000 utbipar : addr - 0xc91ca354, val - 0x00000020 uescr : addr - 0xc91ca358, val - 0x0804 tx64 : addr - 0xc91ca380, val - 0x00000005 tx127 : addr - 0xc91ca384, val - 0x00000046 tx255 : addr - 0xc91ca388, val - 0x00000121 rx64 : addr - 0xc91ca38c, val - 0x00000002 rx127 : addr - 0xc91ca390, val - 0x00000078 rx255 : addr - 0xc91ca394, val - 0x00000139 txok : addr - 0xc91ca398, val - 0x0001294f txcf : addr - 0xc91ca39c, val - 0x0000 tmca : addr - 0xc91ca3a0, val - 0x00000000 tbca : addr - 0xc91ca3a4, val - 0x00000002 rxfok : addr - 0xc91ca3a8, val - 0x000001a8 rxbok : addr - 0xc91ca3ac, val - 0x0001563d rbyt : addr - 0xc91ca3b0, val - 0x0001843b rmca : addr - 0xc91ca3b4, val - 0x00000000 rbca : addr - 0xc91ca3b8, val - 0x00000004 scar : addr - 0xc91ca3bc, val - 0x00000000 scam : addr - 0xc91ca3c0, val - 0xfffe0000 Thread data TXs: Base address: 0xfdefbb00 Thread data TX[0]: Base address: 0xfdefbb00 0xfdefbb00: 18000000 188000ca 18000000 18800044 0xfdefbb10: 18000000 1880005e 0260e130 18800044 0xfdefbb20: 02000318 202490c5 00181204 0c00800e 0xfdefbb30: 69fdf7fe b6a7fa9f eddffeaf bb7fff77 0xfdefbb40: 800016e0 b2000080 0260e138 02179876 0xfdefbb50: 80001580 b0000080 0260e138 021798f6 0xfdefbb60: 80001608 b0000080 Thread data RX: Base address: 0xfdefbd00 Thread data RX[0]: Base address: 0xfdefbd00 0xfdefbd00: 00000000 08c01055 00000000 02003000 0xfdefbd10: 00000000 08c01055 00000000 02003000 0xfdefbd20: 00001f00 00000005 TX global param: Base address: 0xfdefba00 temoder : addr - 0xfdefba00, val - 0x0110 sqptr : addr - 0xfdefba38, val - 0x000019a0 schedulerbasepointer: addr - 0xfdefba3c, val - 0x00000000 txrmonbaseptr: addr - 0xfdefba40, val - 0x00001a80 tstate : addr - 0xfdefba44, val - 0x30000000 iphoffset[0] : addr - 0xfdefba48, val - 0x00 iphoffset[1] : addr - 0xfdefba49, val - 0x00 iphoffset[2] : addr - 0xfdefba4a, val - 0x00 iphoffset[3] : addr - 0xfdefba4b, val - 0x00 iphoffset[4] : addr - 0xfdefba4c, val - 0x00 iphoffset[5] : addr - 0xfdefba4d, val - 0x00 iphoffset[6] : addr - 0xfdefba4e, val - 0x00 iphoffset[7] : addr - 0xfdefba4f, val - 0x00 vtagtable[0] : addr - 0xfdefba50, val - 0x00000000 vtagtable[1] : addr - 0xfdefba54, val - 0x00000000 vtagtable[2] : addr - 0xfdefba58, val - 0x00000000 vtagtable[3] : addr - 0xfdefba5c, val - 0x00000000 vtagtable[4] : addr - 0xfdefba60, val - 0x00000000 vtagtable[5] : addr - 0xfdefba64, val - 0x00000000 vtagtable[6] : addr - 0xfdefba68, val - 0x00000000 vtagtable[7] : addr - 0xfdefba6c, val - 0x00000000 tqptr : addr - 0xfdefba70, val - 0x00001b00 RX global param: Base address: 0xfdefbc00 remoder : addr - 0xfdefbc00, val - 0x00001000 rqptr : addr - 0xfdefbc04, val - 0x00001d00 typeorlen : addr - 0xfdefbc20, val - 0x0c00 rxgstpack : addr - 0xfdefbc23, val - 0x00 rxrmonbaseptr : addr - 0xfdefbc24, val - 0x00001e00 intcoalescingptr: addr - 0xfdefbc30, val - 0x00001ac0 rstate : addr - 0xfdefbc36, val - 0x30 mrblr : addr - 0xfdefbc46, val - 0x0600 rbdqptr : addr - 0xfdefbc48, val - 0x00001e60 mflr : addr - 0xfdefbc4c, val - 0x05ee minflr : addr - 0xfdefbc4e, val - 0x0040 maxd1 : addr - 0xfdefbc50, val - 0x05f0 maxd2 : addr - 0xfdefbc52, val - 0x05f0 ecamptr : addr - 0xfdefbc54, val - 0x00000000 l2qt : addr - 0xfdefbc58, val - 0x00000000 l3qt[0] : addr - 0xfdefbc5c, val - 0x00000000 l3qt[1] : addr - 0xfdefbc60, val - 0x00000000 l3qt[2] : addr - 0xfdefbc64, val - 0x00000000 l3qt[3] : addr - 0xfdefbc68, val - 0x00000000 l3qt[4] : addr - 0xfdefbc6c, val - 0x00000000 l3qt[5] : addr - 0xfdefbc70, val - 0x00000000 l3qt[6] : addr - 0xfdefbc74, val - 0x00000000 l3qt[7] : addr - 0xfdefbc78, val - 0x00000000 vlantype : addr - 0xfdefbc7c, val - 0x8100 vlantci : addr - 0xfdefbc7e, val - 0x0000 addressfiltering[0]: addr - 0xfdefbc80, val - 0x00 addressfiltering[1]: addr - 0xfdefbc81, val - 0x00 addressfiltering[2]: addr - 0xfdefbc82, val - 0x00 addressfiltering[3]: addr - 0xfdefbc83, val - 0x00 addressfiltering[4]: addr - 0xfdefbc84, val - 0x00 addressfiltering[5]: addr - 0xfdefbc85, val - 0x00 addressfiltering[6]: addr - 0xfdefbc86, val - 0x00 addressfiltering[7]: addr - 0xfdefbc87, val - 0x00 addressfiltering[8]: addr - 0xfdefbc88, val - 0x00 addressfiltering[9]: addr - 0xfdefbc89, val - 0x00 addressfiltering[10]: addr - 0xfdefbc8a, val - 0x00 addressfiltering[11]: addr - 0xfdefbc8b, val - 0x01 addressfiltering[12]: addr - 0xfdefbc8c, val - 0x00 addressfiltering[13]: addr - 0xfdefbc8d, val - 0x00 addressfiltering[14]: addr - 0xfdefbc8e, val - 0x00 addressfiltering[15]: addr - 0xfdefbc8f, val - 0x00 addressfiltering[16]: addr - 0xfdefbc90, val - 0x00 addressfiltering[17]: addr - 0xfdefbc91, val - 0x00 addressfiltering[18]: addr - 0xfdefbc92, val - 0x01 addressfiltering[19]: addr - 0xfdefbc93, val - 0x00 addressfiltering[20]: addr - 0xfdefbc94, val - 0x00 addressfiltering[21]: addr - 0xfdefbc95, val - 0x5e addressfiltering[22]: addr - 0xfdefbc96, val - 0x00 addressfiltering[23]: addr - 0xfdefbc97, val - 0x01 addressfiltering[24]: addr - 0xfdefbc98, val - 0x00 addressfiltering[25]: addr - 0xfdefbc99, val - 0x00 addressfiltering[26]: addr - 0xfdefbc9a, val - 0xff addressfiltering[27]: addr - 0xfdefbc9b, val - 0xff addressfiltering[28]: addr - 0xfdefbc9c, val - 0xff addressfiltering[29]: addr - 0xfdefbc9d, val - 0xff addressfiltering[30]: addr - 0xfdefbc9e, val - 0xff addressfiltering[31]: addr - 0xfdefbc9f, val - 0xff addressfiltering[32]: addr - 0xfdefbca0, val - 0x00 addressfiltering[33]: addr - 0xfdefbca1, val - 0x00 addressfiltering[34]: addr - 0xfdefbca2, val - 0xff addressfiltering[35]: addr - 0xfdefbca3, val - 0xff addressfiltering[36]: addr - 0xfdefbca4, val - 0xff addressfiltering[37]: addr - 0xfdefbca5, val - 0xff addressfiltering[38]: addr - 0xfdefbca6, val - 0xff addressfiltering[39]: addr - 0xfdefbca7, val - 0xff addressfiltering[40]: addr - 0xfdefbca8, val - 0x00 addressfiltering[41]: addr - 0xfdefbca9, val - 0x00 addressfiltering[42]: addr - 0xfdefbcaa, val - 0xff addressfiltering[43]: addr - 0xfdefbcab, val - 0xff addressfiltering[44]: addr - 0xfdefbcac, val - 0xff addressfiltering[45]: addr - 0xfdefbcad, val - 0xff addressfiltering[46]: addr - 0xfdefbcae, val - 0xff addressfiltering[47]: addr - 0xfdefbcaf, val - 0xff addressfiltering[48]: addr - 0xfdefbcb0, val - 0x00 addressfiltering[49]: addr - 0xfdefbcb1, val - 0x00 addressfiltering[50]: addr - 0xfdefbcb2, val - 0xff addressfiltering[51]: addr - 0xfdefbcb3, val - 0xff addressfiltering[52]: addr - 0xfdefbcb4, val - 0xff addressfiltering[53]: addr - 0xfdefbcb5, val - 0xff addressfiltering[54]: addr - 0xfdefbcb6, val - 0xff addressfiltering[55]: addr - 0xfdefbcb7, val - 0xff addressfiltering[56]: addr - 0xfdefbcb8, val - 0x81 addressfiltering[57]: addr - 0xfdefbcb9, val - 0x00 addressfiltering[58]: addr - 0xfdefbcba, val - 0x00 addressfiltering[59]: addr - 0xfdefbcbb, val - 0x00 addressfiltering[60]: addr - 0xfdefbcbc, val - 0x00 addressfiltering[61]: addr - 0xfdefbcbd, val - 0x00 addressfiltering[62]: addr - 0xfdefbcbe, val - 0x00 addressfiltering[63]: addr - 0xfdefbcbf, val - 0x00 exfGlobalParam : addr - 0xfdefbcc0, val - 0x00000000 Send Q memory registers: Base address: 0xfdefb9a0 SQQD[0]: Base address: 0xfdefb9a0 0xfdefb9a0: 0260e0c0 000019c0 0260e0c0 0260e128 0xfdefb9b0: b73b3fff 0260e128 0260e0c0 0260e138 0xfdefb9c0: 180000cb 02158076 18000213 02175876 0xfdefb9d0: 18000044 02158076 1800005e 02203876 TX FW statistics pram: Base address: 0xfdefba80 0xfdefba80: 00000000 00000000 00000000 00000000 0xfdefba90: 00000000 00000033 0000015b 00000000 0xfdefbaa0: 00000015 0000000c 00000002 00000000 RX FW statistics pram: Base address: 0xfdefbe00 0xfdefbe00: 00000032 00000000 00000000 00000000 0xfdefbe10: 00000000 00000001 00000000 00000000 0xfdefbe20: 00000000 00000000 00000000 00000000 0xfdefbe30: 00000000 0000000c 00000013 00000007 0xfdefbe40: 00000000 00000000 00000000 00000000 0xfdefbe50: 00000000 00000000 00000000 RX IRQ coalescing tables: Base address: 0xfdefbac0 RX IRQ coalescing table entry[0]: Base address: 0xfdefbac0 interruptcoalescingmaxvalue: addr - 0xfdefbac0, val - 0x00000001 interruptcoalescingcounter : addr - 0xfdefbac4, val - 0x00000001 RX BD QS tables: Base address: 0xfdefbe60 RX BD QS table[0]: Base address: 0xfdefbe60 bdbaseptr : addr - 0xfdefbe60, val - 0x00001e70 bdptr : addr - 0xfdefbe64, val - 0x00001e70 externalbdbaseptr: addr - 0xfdefbe68, val - 0x0260e180 externalbdptr : addr - 0xfdefbe6c, val - 0x0260e1c0 ucode RX Prefetched BDs: Base address: 0xfdefbe70 0xfdefbe70: 90000000 0215b040 90000000 02157040 0xfdefbe80: 90000000 0220d040 90000000 02179040 Init enet param shadow: Base address: 0xc209ccc0 0xc209ccc0: 0630ff00 04000000 11001c03 04000003 0xc209ccd0: 05001f03 00000000 00000000 00000000 0xc209cce0: 00000000 00000000 00000000 00000000 0xc209ccf0: 00000000 00000000 00001a03 0c001ec3 0xc209cd00: 00000000 00000000 00000000 00000000 0xc209cd10: 00000000 00000000 00000000 00 Init enet entry 0: Base address: 0xfdefbec0 0xfdefbec0: 40001a00 86001b70 80000000 0000000c 0xfdefbed0: a4e3ff7f e27eff3f df196bd9 33fffc2f 0xfdefbee0: 10904802 00000020 06001b60 06001b60 0xfdefbef0: 67bdf7ed 1aebfcba 35fbeddb ff799df6 Init enet entry 1: Base address: 0xfdefbf00 0xfdefbf00: 00001c00 00000000 80201000 30000001 0xfdefbf10: 8ebffdbf df001ec0 020031fe 08c01055 0xfdefbf20: 1cc00056 0215b840 05f00000 00001e60 0xfdefbf30: 021588c0 00bf2d7e 00000000 ebc77fc7 0xfdefbf40: 00060402 00016482 ca1c80c6 9810e8c3 0xfdefbf50: a7e195b7 0260e1b8 00000005 00000005 0xfdefbf60: 00001000 81000000 8f040182 30069982 0xfdefbf70: affc77bf f1e3eeff 00000580 00000056 TX BDs[0] 0xc260e0c0: 980001b4 02083876 980001b4 0215a076 0xc260e0d0: 980001b4 02159076 98000042 0216a25e 0xc260e0e0: 9800004e 02079452 9800004e 0216aa52 0xc260e0f0: 980001b4 02158076 9800004e 0216ac52 0xc260e100: 9800004e 0216a052 980001b4 0260c076 0xc260e110: 9800004e 02625e52 980001b4 02161876 0xc260e120: 9800004e 02625052 980001b4 02161076 0xc260e130: 98000044 02175876 b80001b4 02179876 RX BDs[0] 0xc260e180: 90000000 02154840 90000000 0220d840 0xc260e190: 90000000 02158840 90000000 02154040 0xc260e1a0: 90000000 02159840 90000000 02175040 0xc260e1b0: 90000000 02203840 90000000 0215b840 0xc260e1c0: 90000000 0215b040 90000000 02157040 0xc260e1d0: 90000000 0220d040 90000000 02179040 0xc260e1e0: 90000000 02083040 90000000 0215a840 0xc260e1f0: 90000000 02157840 b0000000 0260c840 PHY: m...@e0102320:01 - Link is Up - 10/Half
_______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev