AnsweredAssumed Answered

[imx25] Linux kernel hangs when using nfs with ethernet dongle

Question asked by Hongliang Li on Oct 13, 2014
Latest reply on Oct 13, 2014 by igorpadykov

Hi,

 

I am booting Linux through nfs via a USB Ethernet dongle on the USB host of imx253. But I get this warning and a hanging kernel very frequently, especially after USB device connection/disconnection on the USB hub.

[ 313.016083] ------------[ cut here ]------------

[ 313.020839] WARNING: at net/sched/sch_generic.c:254 dev_watchdog+0x1fc/0x284()

[ 313.028153] NETDEV WATCHDOG: eth0 (asix): transmit queue 0 timed out

[ 313.034580] Modules linked in: g_multi libcomposite

[ 313.039777] [<c000d654>] (unwind_backtrace+0x0/0x11c) from [<c0018b74>] (warn_slowpath_common+0x4c/0x64)

[ 313.049419] [<c0018b74>] (warn_slowpath_common+0x4c/0x64) from [<c0018bb8>] (warn_slowpath_fmt+0x2c/0x3c)

[ 313.059146] [<c0018bb8>] (warn_slowpath_fmt+0x2c/0x3c) from [<c0304690>] (dev_watchdog+0x1fc/0x284)

[ 313.068328] [<c0304690>] (dev_watchdog+0x1fc/0x284) from [<c0026cec>] (call_timer_fn+0x98/0x174)

[ 313.077264] [<c0026cec>] (call_timer_fn+0x98/0x174) from [<c0027818>] (run_timer_softirq+0x254/0x2bc)

[ 313.086621] [<c0027818>] (run_timer_softirq+0x254/0x2bc) from [<c0020120>] (__do_softirq+0x13c/0x27c)

[ 313.095970] [<c0020120>] (__do_softirq+0x13c/0x27c) from [<c0020534>] (irq_exit+0x44/0x5c)

[ 313.104363] [<c0020534>] (irq_exit+0x44/0x5c) from [<c00096d0>] (handle_IRQ+0x64/0x80)

[ 313.112401] [<c00096d0>] (handle_IRQ+0x64/0x80) from [<c0008700>] (avic_handle_irq+0x34/0x40)

[ 313.121052] [<c0008700>] (avic_handle_irq+0x34/0x40) from [<c0373500>] (__irq_svc+0x40/0x6c)

[ 313.129579] Exception stack(0xc0503f68 to 0xc0503fb0)

[ 313.134731] 3f60: 00000000 0005317f 0005217f 60000013 c0502038 c0502000

[ 313.143012] 3f80: c053db88 c04d61c4 c05fe320 41069264 804d521c 00000000 600000d3 c0503fb0

[ 313.151278] 3fa0: c0009784 c0009790 60000013 ffffffff

[ 313.156450] [<c0373500>] (__irq_svc+0x40/0x6c) from [<c0009790>] (default_idle+0x2c/0x34)

[ 313.164756] [<c0009790>] (default_idle+0x2c/0x34) from [<c00098a4>] (cpu_idle+0x74/0xb8)

[ 313.172977] [<c00098a4>] (cpu_idle+0x74/0xb8) from [<c04b96f8>] (start_kernel+0x258/0x298)

[ 313.181358] ---[ end trace 438f9adb5e9de426 ]---

[ 424.936148] nfs: server 192.168.2.37 not responding, still trying

[ 737.633305] usb 1-1: USB disconnect, device number 2

 

While searching for the solution, I came across the errata for other iMX processors - http://cache.freescale.com/files/32bit/doc/errata/IMX6DQCE.pdf and http://www.freescale.com/docs/pcn_attachments/15760_IMX53CE_Rev4.pdf. They both mention a USB IC bug ERR006308 which can cause the controller to hang. I tried disabling SDIS of USBMODE, but the trick didn't seem to work for iMX25.

 

Can you please confirm if ERR006308 is an issue for iMX25 and how do I work around it?

Outcomes