AnsweredAssumed Answered

imx6q: fec_stop : Graceful transmit stop did not complete !

Question asked by Prasant J on Sep 15, 2016
Latest reply on Sep 19, 2016 by Carlos_Musich

Hi,

 

I'm using a third party board that has imx6q (design based on imxsabresd). The root filesystem is based on yocto Jethro release but as my third party board does not support the new kernel I'm using kernel 3.0.35 (its really old but I have no choice).

 

I'm facing network problem with imx6q when the router (to which imx6q is connected) is powered down, I see a kernel dump on the serial lines:

 

[ 149.372684] PHY: 1:00 - Link is Down
[ 158.372729] PHY: 1:00 - Link is Up - 100/Full
[ 166.712331] ------------[ cut here ]------------
[ 166.721605] WARNING: at /kernel-source/net/sched/sch_generic.c:255 dev_watchdog+0x2ac/0x2b8()
[ 166.751542] NETDEV WATCHDOG: eth0 (fec): transmit queue 0 timed out
[ 166.764099] Modules linked in: pwm_beeper ov5640_camera_mipi adv7180_tvin camera_sensor_clock
[ 166.781362] [<c0044f68>] (unwind_backtrace+0x0/0xec) from [<c0072100>] (warn_slowpath_common+0x54/0x64)
[ 166.800186] [<c0072100>] (warn_slowpath_common+0x54/0x64) from [<c0072140>] (warn_slowpath_fmt+0x30/0x40)
[ 166.819356] [<c0072140>] (warn_slowpath_fmt+0x30/0x40) from [<c04657bc>] (dev_watchdog+0x2ac/0x2b8)
[ 166.837475] [<c04657bc>] (dev_watchdog+0x2ac/0x2b8) from [<c007e704>] (run_timer_softirq+0x124/0x234)
[ 166.855924] [<c007e704>] (run_timer_softirq+0x124/0x234) from [<c0077df8>] (__do_softirq+0xe8/0x180)
[ 166.874190] [<c0077df8>] (__do_softirq+0xe8/0x180) from [<c007836c>] (irq_exit+0xa4/0xa8)
[ 166.890553] [<c007836c>] (irq_exit+0xa4/0xa8) from [<c0038304>] (do_IPI+0x110/0x154)
[ 166.906046] [<c0038304>] (do_IPI+0x110/0x154) from [<c003da0c>] (__irq_svc+0x4c/0xe8)
[ 166.921700] Exception stack(0xe9fadf90 to 0xe9fadfd8)
[ 166.931799] df80: c0ec2700 800f0093 00000001 00000000
[ 166.948151] dfa0: e9fac000 c0ebb104 c0b1bc84 c057d6f0 1000406a 412fc09a 00000000 00000000
[ 166.964503] dfc0: 00000000 e9fadfd8 c004d198 c003eba4 400f0013 ffffffff
[ 166.977735] [<c003da0c>] (__irq_svc+0x4c/0xe8) from [<c003eba4>] (default_idle+0x24/0x28)
[ 166.994111] [<c003eba4>] (default_idle+0x24/0x28) from [<c003ecfc>] (cpu_idle+0xa0/0x104)
[ 167.010488] [<c003ecfc>] (cpu_idle+0xa0/0x104) from [<10571094>] (0x10571094)
[ 167.024760] ---[ end trace a30913308129ea19 ]---
[ 167.034004] fec_stop : Graceful transmit stop did not complete !
[ 170.372734] PHY: 1:00 - Link is Up - 100/Full
[ 176.372655] PHY: 1:00 - Link is Up - 100/Full

 

I keep seeing "PHY: 1:00 - Link is Up - 100/Full" these messages and I cannot connect to imx6q using ssh.

I'm using DLink DIR-600M wireless router with DHCP disabled (imx6q has static ip).

 

The only way network is back if restart the network subsystem (using the serial console):

   /etc/init.d/networking stop

   /etc/init.d/networking start

 

My board uses "Micrel KSZ9031 Gigabit PHY".

 

 

This issue does not happen if I remove the network cable and re-plug it. It happens only when I restart the router.

 

 

 

1) Is this a known issue? (Is it specific to 3.0.35 kernel or does it apply to new kernels as well..)

2) Is there any work around this issue?

 

 

Any inputs on this topic will be of great help to me!

 

Regards, Pj

Outcomes