This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM35x USB Host EHCI stalling

Other Parts Discussed in Thread: AM3505, OMAP3530

Hello TI,

We are using AM35xx Sitara processor based custom board. In our use case we need to display capture data on LCD through DSS as well as stream the data using USB to Ethernet converter.

We observe one issue that when there is heavy traffic through USB and simultaneously DSS displays data on LCD, then after approx 15 minutes we get USB Stall.

We referred AM3505 Errata - Advisory 1.1.36 and we found that this can happen due to DSS consuming high bandwidth resulting in USB Host EHCI stall. So we disabled DSS with following sysfs command:

echo 0 > /sys/devices/omapdss/display0/enabled

But still after disabling DSS, we observed that USB stall now happens after approx an hour and we get below kernel messages.

[12363.164337] WARNING: at net/sched/sch_generic.c:258 dev_watchdog+0x164/0x254()
[12363.171966] NETDEV WATCHDOG: eth1 (smsc95xx): transmit queue 0 timed out
[12363.179046] Modules linked in: ifb act_mirred sch_ingress cls_u32 sch_prio ipt_MASQUERADE iptable_nat nf_nat iptable_mangle xt_mark xt_tcpudp wl12xx_sdio wl12xx mac80211 cfg80211 c]
[12363.221618] [<c008b440>] (unwind_backtrace+0x0/0xec) from [<c00ae2b8>] (warn_slowpath_common+0x4c/0x64)
[12363.231536] [<c00ae2b8>] (warn_slowpath_common+0x4c/0x64) from [<c00ae350>] (warn_slowpath_fmt+0x2c/0x3c)
[12363.241638] [<c00ae350>] (warn_slowpath_fmt+0x2c/0x3c) from [<c03636a4>] (dev_watchdog+0x164/0x254)
[12363.251190] [<c03636a4>] (dev_watchdog+0x164/0x254) from [<c00b7c64>] (run_timer_softirq+0x1d8/0x28c)
[12363.260925] [<c00b7c64>] (run_timer_softirq+0x1d8/0x28c) from [<c00b35c0>] (__do_softirq+0x74/0xfc)
[12363.270446] [<c00b35c0>] (__do_softirq+0x74/0xfc) from [<c00b3688>] (irq_exit+0x40/0x8c)
[12363.278991] [<c00b3688>] (irq_exit+0x40/0x8c) from [<c007b078>] (asm_do_IRQ+0x78/0x98)
[12363.287384] [<c007b078>] (asm_do_IRQ+0x78/0x98) from [<c0411874>] (__irq_svc+0x34/0x80)
[12363.295806] Exception stack(0xc056bf80 to 0xc056bfc8)
[12363.301147] bf80: 00000000 40000013 40000013 00003505 c056a000 c05b95c0 c002e0e4 c056e844
[12363.309753] bfa0: 8002c6ec 411fc087 0000001f 00000000 c05816f8 c056bfc8 c0094d78 c0095388
[12363.318359] bfc0: 60000013 ffffffff
[12363.322052] [<c0411874>] (__irq_svc+0x34/0x80) from [<c0095388>] (omap3_pm_idle+0x48/0x4c)
[12363.330780] [<c0095388>] (omap3_pm_idle+0x48/0x4c) from [<c0086c38>] (cpu_idle+0x48/0x88)
[12363.339416] [<c0086c38>] (cpu_idle+0x48/0x88) from [<c0008bdc>] (start_kernel+0x254/0x2a8)
[12363.348144] [<c0008bdc>] (start_kernel+0x254/0x2a8) from [<80008034>] (0x80008034)
[12363.356109] ---[ end trace abe4b08a822dc09e ]---
[  3] 4360.0-4365.0 sec  7.84 MB[12363.833435] smsc95xx 1-1.2.3:1.0: eth1: Failed to read register index 0x00000114
ytes  13.2 Mbits[12363.842498] smsc95xx 1-1.2.3:1.0: eth1: MII is busy in smsc95xx_mdio_read
/sec
[12363.851287] ehci-omap ehci-omap.0: remove, state 1
[12363.856658] usb usb1: USB disconnect, address 1
[12363.861419] usb 1-1: USB disconnect, address 2
[12363.866149] usb 1-1.2: USB disconnect, address 3
[12363.879180] usb 1-1.2.1: USB disconnect, address 6
[12363.886352] usb 1-1.2.2: USB disconnect, address 8

Can anyone suggest how can we avoid USB stalling?

Thanks,

Krunal