>Subject: ucc_geth: transmit queue timeout at half-duplex mode > >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,
I believe your problem is related to an errata for 8321: High Tx Virtual FIFO threshold size can cause UCC to halt. Reducing the UTFTT might fix the problem. If you are interested, I can sent you the detailed errata off the thread. - Leo _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev