On our imx6q board running kernel 3.14.52-1.1.0_ga (commit 5f6f0a5), we have encountered a case that the transmit queue timing out on eth0. I did a search on the web and found a thread on the boundary forum that is very similar to this but it was more than 3 years ago and the patch was done on a much older kernel. So I just want to know is there something wrong in the fec driver that is causing this? If so, is there a patch available that can fix this problem?
------------[ cut here ]------------
WARNING: CPU: 0 PID: 0 at /yocto/iteris-2.0/build/tmp/work-shared/ccu6/kernel-source/net/sched/sch_generic.c:264 dev_watchdog+0x260/0x26c()
NETDEV WATCHDOG: eth0 (fec): transmit queue 0 timed out
Modules linked in: loadfpga(O) virtual_fb(O) mxc_v4l2_capture ipu_bg_overlay_sdc ipu_still ipu_prp_enc ipu_csi_enc tvp5147(O) v4l2_int_device ipu_fg_overlay_sdc evbug mxc_dcic galcore(O)
CPU: 0 PID: 0 Comm: swapper/0 Tainted: G O 3.14.52-1.1.0_ga+g5f6f0a5 #1
[<800158e4>] (unwind_backtrace) from [<800123d4>] (show_stack+0x10/0x14)
[<800123d4>] (show_stack) from [<806eed4c>] (dump_stack+0x7c/0xbc)
[<806eed4c>] (dump_stack) from [<8002f660>] (warn_slowpath_common+0x6c/0x88)
[<8002f660>] (warn_slowpath_common) from [<8002f6ac>] (warn_slowpath_fmt+0x30/0x40)
[<8002f6ac>] (warn_slowpath_fmt) from [<805944bc>] (dev_watchdog+0x260/0x26c)
[<805944bc>] (dev_watchdog) from [<80039848>] (call_timer_fn.isra.8+0x24/0x84)
[<80039848>] (call_timer_fn.isra.8) from [<80039a10>] (run_timer_softirq+0x168/0x1ec)
[<80039a10>] (run_timer_softirq) from [<8003368c>] (__do_softirq+0x140/0x244)
[<8003368c>] (__do_softirq) from [<80033a6c>] (irq_exit+0xb8/0xf4)
[<80033a6c>] (irq_exit) from [<8000f990>] (handle_IRQ+0x44/0x90)
[<8000f990>] (handle_IRQ) from [<8000856c>] (gic_handle_irq+0x2c/0x5c)
[<8000856c>] (gic_handle_irq) from [<80012ec0>] (__irq_svc+0x40/0x70)
Exception stack(0x80a11f20 to 0x80a11f68)
1f20: 80a11f68 3b9aca00 7d4a167b 000269c2 bf7250d0 80a1e7c8 7d49a533 000269c2
1f40: 00000000 00000000 80a10000 00000000 00000017 80a11f68 00000009 804b4808
1f60: 000f0013 ffffffff
[<80012ec0>] (__irq_svc) from [<804b4808>] (cpuidle_enter_state+0x50/0xe4)
[<804b4808>] (cpuidle_enter_state) from [<804b4950>] (cpuidle_idle_call+0xb4/0x150)
[<804b4950>] (cpuidle_idle_call) from [<8000fce0>] (arch_cpu_idle+0x8/0x44)
[<8000fce0>] (arch_cpu_idle) from [<8006ab10>] (cpu_startup_entry+0x100/0x14c)
[<8006ab10>] (cpu_startup_entry) from [<809bfb2c>] (start_kernel+0x350/0x35c)
---[ end trace bbaf3f4e344cdb53 ]---
I have attached the full log as an attachment which has the dump of the tx ring buffer.
Thanks,
Charles
Original Attachment has been moved to: net_timeout_issue.log.zip