Tool/software: Linux
I'm on Linux 4.1 using an image built from Timesys Linux. The micro is an am3352 and the radio is a WiLink6. This has worked well for awhile but recently I've started to get an issue with my radio. After the driver is loaded, wl12xx, the firmware is booted and a few seconds later the radio is rebooted. This happens continuously.
[ 1044.792571] wlcore: ERROR HW watchdog interrupt received! starting recovery. [ 1044.800065] ------------[ cut here ]------------ [ 1044.805129] WARNING: CPU: 0 PID: 240 at drivers/net/wireless/ti/wlcore/main.c:802 wl12xx_queue_recovery_work.part.9+0x60/0x6c [wlcore]() [ 1044.818056] Modules linked in: ipv6 btwilink wl12xx wlcore mac80211 cfg80211 wlcore_sdio omap_rng rng_core c_can_platform c_can can_dev rtc_omap ti_am335x_adc ti_am335x_tsc mb85rs256 [last unloaded: btwilink] [ 1044.838069] CPU: 0 PID: 240 Comm: irq/146-wl12xx Tainted: G W 4.1.18-ts-armv7l #1 [ 1044.847135] Hardware name: Generic AM33XX (Flattened Device Tree) [ 1044.853608] [<c00161a8>] (unwind_backtrace) from [<c0013d08>] (show_stack+0x10/0x14) [ 1044.861798] [<c0013d08>] (show_stack) from [<c00406a0>] (warn_slowpath_common+0x7c/0xb4) [ 1044.870334] [<c00406a0>] (warn_slowpath_common) from [<c0040774>] (warn_slowpath_null+0x1c/0x24) [ 1044.879648] [<c0040774>] (warn_slowpath_null) from [<bf1f555c>] (wl12xx_queue_recovery_work.part.9+0x60/0x6c [wlcore]) [ 1044.891043] [<bf1f555c>] (wl12xx_queue_recovery_work.part.9 [wlcore]) from [<bf1f5898>] (wlcore_irq+0x188/0x1c4 [wlcore]) [ 1044.902688] [<bf1f5898>] (wlcore_irq [wlcore]) from [<c008b580>] (irq_thread_fn+0x1c/0x40) [ 1044.911430] [<c008b580>] (irq_thread_fn) from [<c008b7f4>] (irq_thread+0xf4/0x13c) [ 1044.919425] [<c008b7f4>] (irq_thread) from [<c005ee08>] (kthread+0xcc/0xe8) [ 1044.926782] [<c005ee08>] (kthread) from [<c0010238>] (ret_from_fork+0x14/0x3c) [ 1044.934406] ---[ end trace 0136d09e40d6effd ]--- [ 1044.939393] wlcore: Hardware recovery in progress. FW ver: Rev 6.3.10.1.139 [ 1044.948151] wlcore: pc: 0xc0013ac8, hint_sts: 0x00000000 count: 73 [ 1044.955575] wlcore: down [ 1044.960112] ieee80211 phy0: Hardware restart was requested [ 1045.417144] wlcore: firmware booted (Rev 6.3.10.1.139)
The following modules are loaded:
# lsmod Module Size Used by Tainted: G ipv6 396708 18 [permanent] btwilink 4635 0 wl12xx 62516 0 wlcore 217943 1 wl12xx mac80211 757573 2 wl12xx,wlcore cfg80211 575290 2 wlcore,mac80211 wlcore_sdio 7469 0 omap_rng 4634 0 rng_core 7741 1 omap_rng c_can_platform 6560 0 c_can 10817 1 c_can_platform can_dev 12422 1 c_can ti_am335x_adc 5388 0 rtc_omap 7775 0 ti_am335x_tsc 5264 0 mb85rs256 2867 0
The firmware files are present as well.
# ls /lib/firmware/ti-connectivity TIInit_7.6.15.bts wl127x-fw-4-plt.bin wl127x-fw-4-sr.bin wl127x-fw-5-plt.bin wl127x-fw-5-sr.bin wl1271-nvs.bin
The issue appears to be with the wlcore driver but I haven't made any changes to it so I'm bit stumped on how this issue suddenly came up. Any help would be appreciated.
Thanks.