Thread (11 messages) 11 messages, 5 authors, 2013-02-18

i.Mx6Quad - eth0: tx queue full!

From: Troy Kisky <hidden>
Date: 2013-01-29 18:46:40
Also in: netdev

On 1/29/2013 9:34 AM, Vikram Narayanan wrote:
On 1/29/2013 1:17 AM, Troy Kisky wrote:
quoted
On 1/28/2013 10:39 AM, Vikram Narayanan wrote:
quoted
Running the latest head <linux-2.6.git> on an i.Mx6Quad based platform
gives me the below error when flooded with ping requests.

== Start log ==
[ 2555.004031] ------------[ cut here ]------------
[ 2555.009740] WARNING: at net/sched/sch_generic.c:254
dev_watchdog+0x298/0x2b8()
[ 2555.018721] NETDEV WATCHDOG: eth0 (fec): transmit queue 0 timed out
I think the tx interrupt status bit was lost. The packets were
transmitted, but the interrupt never
happened. The controller should have been reset here, but perhaps a bug
with the reset code.
Are you using the mainline kernel, or a version Freescale's kernel.
I tried with both the kernels. Freescale's and mainline results in the 
same error.
quoted
mainline fec_restart does not reset tx_full

You can try adding
fep->tx_full = 0;
With this there was no improvement.
I have fixed this bug (and more) on Freescale's kernel 
(imx-3.0.35_1.1.0). I created a branch you can try.
Feel free to port to mainline.

This is the patch that should fix your problem
fec: clear TX_FULL in fec_restart

git://github.com/boundarydevices/linux-imx6.git ethernet_test



Please let me know results.
Thanks
Troy
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help