iMX287 eth0: tx queue full!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello everyone,
I'm using the fec0 of the iMX287 with 10M/Half duplex mode,but sometimes the fec0 will enter error state with the error message is "eth0: tx queue full!",and this state will keep on until I send "ifconfig eth0 down" and "ifconfig eth0 up".After these two commands,the fec0 will word correctly.I find the location of the error message "eth0: tx queue full!" is in the function of fec_enet_start_xmit in /drivers/net/fec.c, the resaon is the status bit BD_ENET_TX_READY is set. What's this bit mean? and in what condition this bit will be set? and when this bit is set, where and how to reset it?
Best Regards.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The following may be helpful.
Have a great day,
Yuri
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks very much! But this article don't solve my problem,it seems no effect. After testing, I find when enter to the error state, the driver can't get in the "fec_timeout" function, so the way to modify the "fec_timeout" function doesn't work.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The status bit BD_ENET_TX_READY means, that current Tx buffer cannot be
send in time. If there are no hardware errors, it is needed just wait the Tx buffer transmitting.
Looks like the current BSP implementation is not optimal for 10M half duplex mode.
~Yuri.