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.

WL1835MOD: WLAN Crash on System Resume ONLY when bluetooth is enabled too.

Part Number: WL1835MOD
Other Parts Discussed in Thread: WL1271

Hello,

I am using a WL1835MOD in combination with an AM335x.  I go into suspend when there is no activity because we are running from a battery:

echo mem > /sys/power/state

If i have just wi-fi enabled and connected then i can suspend and resume with no issues; however, if i also have bluetooth enabled then i get a kernel panic and must reboot.

I am running kernel version 4.14.70 from the Robert C. Nelson kernel.

wl18xx-fw-4.bin versions:

FRev 8.9.0.0.83
FRev 8.2.0.0.243

Bluetooth firmware:  TIInit_11.8.32.bts

Here is the panic output:

~ # echo mem > /sys/power/state
[  215.844719] PM: suspend entry (deep)
[  215.848792] PM: Syncing filesystems ... done.
[  215.868400] Freezing user space processes ... (elapsed 0.002 seconds) done.
[  215.879065] OOM killer disabled.
[  215.882601] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) do
ne.
[  215.892220] Suspending console(s) (use no_console_suspend to debug)
[  215.900850] wlan0: deauthenticating from 88:15:44:ac:a3:28 by local choice (R
eason: 3=DEAUTH_LEAVING)
[  215.950719] wlcore: down
[  215.951384] queueing ieee80211 work while going to suspend
[  215.975029] Timekeeping got suspended
[  215.975029] pm33xx pm33xx: PM: Successfully put all powerdomains to target st
ate
[  216.203314] mmc1: error -110 during resume (card was removed?)
[  216.437873] Crashed from drivers/net/wireless/ti/wlcore/sdio.c on line 145
[  216.437889] ------------[ cut here ]------------
[  216.437962] WARNING: CPU: 0 PID: 2233 at drivers/net/wireless/ti/wlcore/sdio.
c:145 wl12xx_sdio_raw_write+0xdc/0x198 [wlcore_sdio]
[  216.437972] Modules linked in: ipt_MASQUERADE nf_nat_masquerade_ipv4 iptable_
nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack ip_tables x
_tables wl18xx wlcore wlcore_sdio spi_qrsdream pm33xx usb_f_midi usb_f_uac2 u_au
dio libcomposite [last unloaded: spi_omap2_mcspi]
[  216.438158] CPU: 0 PID: 2233 Comm: kworker/u2:8 Not tainted 4.14.70.20+ #13
[  216.438169] Hardware name: Generic AM33XX (Flattened Device Tree)
[  216.438210] Workqueue: events_unbound async_run_entry_fn
[  216.438279] [<c0110ba4>] (unwind_backtrace) from [<c010d4e8>] (show_stack+0x2
0/0x24)
[  216.438319] [<c010d4e8>] (show_stack) from [<c0a7cc20>] (dump_stack+0x20/0x28
)
[  216.438370] [<c0a7cc20>] (dump_stack) from [<c0138708>] (__warn+0xe8/0x110)
[  216.438407] [<c0138708>] (__warn) from [<c0138788>] (warn_slowpath_null+0x58/
0x60)
[  216.438454] [<c0138788>] (warn_slowpath_null) from [<bf05930c>] (wl12xx_sdio_
raw_write+0xdc/0x198 [wlcore_sdio])
[  216.438930] [<bf05930c>] (wl12xx_sdio_raw_write [wlcore_sdio]) from [<bf06ea5
8>] (wlcore_set_partition+0xd8/0x558 [wlcore])
[  216.439405] [<bf06ea58>] (wlcore_set_partition [wlcore]) from [<bf06114c>] (w
l12xx_set_power_on+0x98/0x16c [wlcore])
[  216.439857] [<bf06114c>] (wl12xx_set_power_on [wlcore]) from [<bf067f7c>] (wl
1271_op_add_interface+0x61c/0x964 [wlcore])
[  216.440113] [<bf067f7c>] (wl1271_op_add_interface [wlcore]) from [<c0a05e10>]
 (drv_add_interface+0x48/0x19c)
[  216.440165] [<c0a05e10>] (drv_add_interface) from [<c0a3c9d8>] (ieee80211_rec
onfig+0x1a4/0x16c8)
[  216.440221] [<c0a3c9d8>] (ieee80211_reconfig) from [<c0a26a00>] (ieee80211_re
sume+0x60/0x78)
[  216.440275] [<c0a26a00>] (ieee80211_resume) from [<c09b4c88>] (wiphy_resume+0
x5c/0x188)
[  216.440313] [<c09b4c88>] (wiphy_resume) from [<c05dc564>] (dpm_run_callback+0
x68/0x1fc)
[  216.440344] [<c05dc564>] (dpm_run_callback) from [<c05dcd1c>] (device_resume+
0xc4/0x23c)
[  216.440372] [<c05dcd1c>] (device_resume) from [<c05dcebc>] (async_resume+0x28
/0x54)
[  216.440400] [<c05dcebc>] (async_resume) from [<c015cd38>] (async_run_entry_fn
+0x50/0x1e8)
[  216.440446] [<c015cd38>] (async_run_entry_fn) from [<c0152db4>] (process_one_
work+0x138/0x47c)
[  216.440481] [<c0152db4>] (process_one_work) from [<c01532d8>] (worker_thread+
0x198/0x59c)
[  216.440518] [<c01532d8>] (worker_thread) from [<c01595b4>] (kthread+0x128/0x1
60)
[  216.440559] [<c01595b4>] (kthread) from [<c0108d88>] (ret_from_fork+0x14/0x2c
)
[  216.440578] ---[ end trace c6e94ada44e6ac22 ]---
[  216.440610] wl1271_sdio mmc1:0001:2: sdio write failed (-110)
[  216.909871] Crashed from drivers/net/wireless/ti/wlcore/sdio.c on line 145
[  216.909886] ------------[ cut here ]------------
[  216.909943] WARNING: CPU: 0 PID: 2233 at drivers/net/wireless/ti/wlcore/sdio.
c:145 wl12xx_sdio_raw_write+0xdc/0x198 [wlcore_sdio]
[  216.909952] Modules linked in: ipt_MASQUERADE nf_nat_masquerade_ipv4 iptable_
nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack ip_tables x
_tables wl18xx wlcore wlcore_sdio spi_qrsdream pm33xx usb_f_midi usb_f_uac2 u_au
dio libcomposite [last unloaded: spi_omap2_mcspi]
[  216.910128] CPU: 0 PID: 2233 Comm: kworker/u2:8 Tainted: G        W       4.1
4.70.20+ #13
[  216.910139] Hardware name: Generic AM33XX (Flattened Device Tree)
[  216.910170] Workqueue: events_unbound async_run_entry_fn
[  216.910222] [<c0110ba4>] (unwind_backtrace) from [<c010d4e8>] (show_stack+0x2
0/0x24)
[  216.910257] [<c010d4e8>] (show_stack) from [<c0a7cc20>] (dump_stack+0x20/0x28
)
[  216.910299] [<c0a7cc20>] (dump_stack) from [<c0138708>] (__warn+0xe8/0x110)
[  216.910335] [<c0138708>] (__warn) from [<c0138788>] (warn_slowpath_null+0x58/
0x60)
[  216.910380] [<c0138788>] (warn_slowpath_null) from [<bf05930c>] (wl12xx_sdio_
raw_write+0xdc/0x198 [wlcore_sdio])
[  216.910730] [<bf05930c>] (wl12xx_sdio_raw_write [wlcore_sdio]) from [<bf06ea5
8>] (wlcore_set_partition+0xd8/0x558 [wlcore])
[  216.911195] [<bf06ea58>] (wlcore_set_partition [wlcore]) from [<bf06114c>] (w
l12xx_set_power_on+0x98/0x16c [wlcore])
[  216.911643] [<bf06114c>] (wl12xx_set_power_on [wlcore]) from [<bf067f7c>] (wl
1271_op_add_interface+0x61c/0x964 [wlcore])
[  216.911894] [<bf067f7c>] (wl1271_op_add_interface [wlcore]) from [<c0a05e10>]
 (drv_add_interface+0x48/0x19c)
[  216.911935] [<c0a05e10>] (drv_add_interface) from [<c0a3c9d8>] (ieee80211_rec
onfig+0x1a4/0x16c8)
[  216.911975] [<c0a3c9d8>] (ieee80211_reconfig) from [<c0a26a00>] (ieee80211_re
sume+0x60/0x78)
[  216.912017] [<c0a26a00>] (ieee80211_resume) from [<c09b4c88>] (wiphy_resume+0
x5c/0x188)
[  216.912051] [<c09b4c88>] (wiphy_resume) from [<c05dc564>] (dpm_run_callback+0
x68/0x1fc)
[  216.912080] [<c05dc564>] (dpm_run_callback) from [<c05dcd1c>] (device_resume+
0xc4/0x23c)
[  216.912108] [<c05dcd1c>] (device_resume) from [<c05dcebc>] (async_resume+0x28
/0x54)
[  216.912136] [<c05dcebc>] (async_resume) from [<c015cd38>] (async_run_entry_fn
+0x50/0x1e8)
[  216.912175] [<c015cd38>] (async_run_entry_fn) from [<c0152db4>] (process_one_
work+0x138/0x47c)
[  216.912209] [<c0152db4>] (process_one_work) from [<c01532d8>] (worker_thread+
0x198/0x59c)
[  216.912242] [<c01532d8>] (worker_thread) from [<c01595b4>] (kthread+0x128/0x1
60)
[  216.912278] [<c01595b4>] (kthread) from [<c0108d88>] (ret_from_fork+0x14/0x2c
)
[  216.912294] ---[ end trace c6e94ada44e6ac23 ]---
[  216.912320] wl1271_sdio mmc1:0001:2: sdio write failed (-110)
[  216.913890] wlcore: ERROR firmware boot failed despite 3 retries
[  216.913910] Crashed from net/mac80211/util.c on line 1902
[  216.913919] ------------[ cut here ]------------
[  216.913954] WARNING: CPU: 0 PID: 2233 at net/mac80211/util.c:1902 ieee80211_r
econfig+0x1bc/0x16c8
[  216.913962] Modules linked in: ipt_MASQUERADE nf_nat_masquerade_ipv4 iptable_
nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack ip_tables x
_tables wl18xx wlcore wlcore_sdio spi_qrsdream pm33xx usb_f_midi usb_f_uac2 u_au
dio libcomposite [last unloaded: spi_omap2_mcspi]
[  216.914129] CPU: 0 PID: 2233 Comm: kworker/u2:8 Tainted: G        W       4.1
4.70.20+ #13
[  216.914140] Hardware name: Generic AM33XX (Flattened Device Tree)
[  216.914162] Workqueue: events_unbound async_run_entry_fn
[  216.914210] [<c0110ba4>] (unwind_backtrace) from [<c010d4e8>] (show_stack+0x2
0/0x24)
[  216.914242] [<c010d4e8>] (show_stack) from [<c0a7cc20>] (dump_stack+0x20/0x28
)
[  216.914279] [<c0a7cc20>] (dump_stack) from [<c0138708>] (__warn+0xe8/0x110)
[  216.914314] [<c0138708>] (__warn) from [<c0138788>] (warn_slowpath_null+0x58/
0x60)
[  216.914350] [<c0138788>] (warn_slowpath_null) from [<c0a3c9f0>] (ieee80211_re
config+0x1bc/0x16c8)
[  216.914386] [<c0a3c9f0>] (ieee80211_reconfig) from [<c0a26a00>] (ieee80211_re
sume+0x60/0x78)
[  216.914425] [<c0a26a00>] (ieee80211_resume) from [<c09b4c88>] (wiphy_resume+0
x5c/0x188)
[  216.914458] [<c09b4c88>] (wiphy_resume) from [<c05dc564>] (dpm_run_callback+0
x68/0x1fc)
[  216.914484] [<c05dc564>] (dpm_run_callback) from [<c05dcd1c>] (device_resume+
0xc4/0x23c)
[  216.914512] [<c05dcd1c>] (device_resume) from [<c05dcebc>] (async_resume+0x28
/0x54)
[  216.914539] [<c05dcebc>] (async_resume) from [<c015cd38>] (async_run_entry_fn
+0x50/0x1e8)
[  216.914572] [<c015cd38>] (async_run_entry_fn) from [<c0152db4>] (process_one_
work+0x138/0x47c)
[  216.914605] [<c0152db4>] (process_one_work) from [<c01532d8>] (worker_thread+
0x198/0x59c)
[  216.914637] [<c01532d8>] (worker_thread) from [<c01595b4>] (kthread+0x128/0x1
60)
[  216.914669] [<c01595b4>] (kthread) from [<c0108d88>] (ret_from_fork+0x14/0x2c
)
[  216.914684] ---[ end trace c6e94ada44e6ac24 ]---
[  216.915033] ------------[ cut here ]------------
[  216.915075] WARNING: CPU: 0 PID: 2233 at net/mac80211/driver-ops.h:18 drv_rem
ove_interface+0x170/0x184
[  216.915088] wlan0:  Failed check-sdata-in-driver check, flags: 0x4
[  216.915094] Modules linked in: ipt_MASQUERADE nf_nat_masquerade_ipv4 iptable_
nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack ip_tables x
_tables wl18xx wlcore wlcore_sdio spi_qrsdream pm33xx usb_f_midi usb_f_uac2 u_au
dio libcomposite [last unloaded: spi_omap2_mcspi]
[  216.915257] CPU: 0 PID: 2233 Comm: kworker/u2:8 Tainted: G        W       4.1
4.70.20+ #13
[  216.915267] Hardware name: Generic AM33XX (Flattened Device Tree)
[  216.915290] Workqueue: events_unbound async_run_entry_fn
[  216.915334] [<c0110ba4>] (unwind_backtrace) from [<c010d4e8>] (show_stack+0x2
0/0x24)
[  216.915364] [<c010d4e8>] (show_stack) from [<c0a7cc20>] (dump_stack+0x20/0x28
)
[  216.915401] [<c0a7cc20>] (dump_stack) from [<c0138708>] (__warn+0xe8/0x110)
[  216.915436] [<c0138708>] (__warn) from [<c0138828>] (warn_slowpath_fmt+0x48/0
x50)
[  216.915473] [<c0138828>] (warn_slowpath_fmt) from [<c0a06274>] (drv_remove_in
terface+0x170/0x184)
[  216.915508] [<c0a06274>] (drv_remove_interface) from [<c0a1bf98>] (ieee80211_
do_stop+0x708/0x8b0)
[  216.915539] [<c0a1bf98>] (ieee80211_do_stop) from [<c0a1c160>] (ieee80211_sto
p+0x20/0x28)
[  216.915571] [<c0a1c160>] (ieee80211_stop) from [<c0801e78>] (__dev_close_many
+0x98/0xd8)
[  216.915600] [<c0801e78>] (__dev_close_many) from [<c0801f48>] (dev_close_many
+0x90/0x120)
[  216.915630] [<c0801f48>] (dev_close_many) from [<c08046ec>] (dev_close+0x68/0
x8c)
[  216.915666] [<c08046ec>] (dev_close) from [<c09b3dbc>] (cfg80211_shutdown_all
_interfaces+0x44/0xc8)
[  216.915708] [<c09b3dbc>] (cfg80211_shutdown_all_interfaces) from [<c0a3a420>]
 (ieee80211_handle_reconfig_failure+0xd4/0xd8)
[  216.915746] [<c0a3a420>] (ieee80211_handle_reconfig_failure) from [<c0a3cb74>
] (ieee80211_reconfig+0x340/0x16c8)
[  216.915782] [<c0a3cb74>] (ieee80211_reconfig) from [<c0a26a00>] (ieee80211_re
sume+0x60/0x78)
[  216.915818] [<c0a26a00>] (ieee80211_resume) from [<c09b4c88>] (wiphy_resume+0
x5c/0x188)
[  216.915850] [<c09b4c88>] (wiphy_resume) from [<c05dc564>] (dpm_run_callback+0
x68/0x1fc)
[  216.915878] [<c05dc564>] (dpm_run_callback) from [<c05dcd1c>] (device_resume+
0xc4/0x23c)
[  216.915904] [<c05dcd1c>] (device_resume) from [<c05dcebc>] (async_resume+0x28
/0x54)
[  216.915932] [<c05dcebc>] (async_resume) from [<c015cd38>] (async_run_entry_fn
+0x50/0x1e8)
[  216.915964] [<c015cd38>] (async_run_entry_fn) from [<c0152db4>] (process_one_
work+0x138/0x47c)
[  216.915998] [<c0152db4>] (process_one_work) from [<c01532d8>] (worker_thread+
0x198/0x59c)
[  216.916030] [<c01532d8>] (worker_thread) from [<c01595b4>] (kthread+0x128/0x1
60)
[  216.916064] [<c01595b4>] (kthread) from [<c0108d88>] (ret_from_fork+0x14/0x2c
)
[  216.916078] ---[ end trace c6e94ada44e6ac25 ]---
[  216.926855] dpm_run_callback(): wiphy_resume+0x0/0x188 returns -110
[  216.927111] PM: Device phy0 failed to resume async: error -110
[  217.984777] OOM killer enabled.
[  217.988183] Restarting tasks ... done.
[  218.000459] PM: suspend exit
~ # [  218.434031] Crashed from drivers/net/wireless/ti/wlcore/sdio.c on line 14
5
[  218.441373] ------------[ cut here ]------------
[  218.446377] WARNING: CPU: 0 PID: 1754 at drivers/net/wireless/ti/wlcore/sdio.
c:145 wl12xx_sdio_raw_write+0xdc/0x198 [wlcore_sdio]
[  218.458759] Modules linked in: ipt_MASQUERADE nf_nat_masquerade_ipv4 iptable_
nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack ip_tables x
_tables wl18xx wlcore wlcore_sdio spi_qrsdream pm33xx usb_f_midi usb_f_uac2 u_au
dio libcomposite [last unloaded: spi_omap2_mcspi]
[  218.485599] CPU: 0 PID: 1754 Comm: ifplugd Tainted: G        W       4.14.70.
20+ #13
[  218.493846] Hardware name: Generic AM33XX (Flattened Device Tree)
[  218.500404] [<c0110ba4>] (unwind_backtrace) from [<c010d4e8>] (show_stack+0x2
0/0x24)
[  218.508694] [<c010d4e8>] (show_stack) from [<c0a7cc20>] (dump_stack+0x20/0x28
)
[  218.516392] [<c0a7cc20>] (dump_stack) from [<c0138708>] (__warn+0xe8/0x110)
[  218.523803] [<c0138708>] (__warn) from [<c0138788>] (warn_slowpath_null+0x58/
0x60)
[  218.532340] [<c0138788>] (warn_slowpath_null) from [<bf05930c>] (wl12xx_sdio_
raw_write+0xdc/0x198 [wlcore_sdio])
[  218.543663] [<bf05930c>] (wl12xx_sdio_raw_write [wlcore_sdio]) from [<bf06ea5
8>] (wlcore_set_partition+0xd8/0x558 [wlcore])
[  218.555954] [<bf06ea58>] (wlcore_set_partition [wlcore]) from [<bf06114c>] (w
l12xx_set_power_on+0x98/0x16c [wlcore])
[  218.567656] [<bf06114c>] (wl12xx_set_power_on [wlcore]) from [<bf067f7c>] (wl
1271_op_add_interface+0x61c/0x964 [wlcore])
[  218.579422] [<bf067f7c>] (wl1271_op_add_interface [wlcore]) from [<c0a05e10>]
 (drv_add_interface+0x48/0x19c)
[  218.589858] [<c0a05e10>] (drv_add_interface) from [<c0a1c5cc>] (ieee80211_do_
open+0x464/0x978)
[  218.599052] [<c0a1c5cc>] (ieee80211_do_open) from [<c0a1cb40>] (ieee80211_ope
n+0x60/0x64)
[  218.607792] [<c0a1cb40>] (ieee80211_open) from [<c0809480>] (__dev_open+0xb8/
0x118)
[  218.615983] [<c0809480>] (__dev_open) from [<c0809818>] (__dev_change_flags+0
x188/0x1b0)
[  218.624632] [<c0809818>] (__dev_change_flags) from [<c0809888>] (dev_change_f
lags+0x28/0x58)
[  218.633676] [<c0809888>] (dev_change_flags) from [<c08a8f20>] (devinet_ioctl+
0x6bc/0x790)
[  218.642360] [<c08a8f20>] (devinet_ioctl) from [<c08ab230>] (inet_ioctl+0x1c0/
0x1d0)
[  218.650540] [<c08ab230>] (inet_ioctl) from [<c07e6170>] (sock_ioctl+0x84/0x30
4)
[  218.658362] [<c07e6170>] (sock_ioctl) from [<c02a6480>] (do_vfs_ioctl+0x9c/0x
910)
[  218.666368] [<c02a6480>] (do_vfs_ioctl) from [<c02a6d68>] (SyS_ioctl+0x74/0x8
4)
[  218.674201] [<c02a6d68>] (SyS_ioctl) from [<c0108ca0>] (ret_fast_syscall+0x0/
0x54)
[  218.682278] ---[ end trace c6e94ada44e6ac26 ]---
[  218.687240] wl1271_sdio mmc1:0001:2: sdio write failed (-110)
[  218.881523] Unhandled fault: external abort on non-linefetch (0x1008) at 0xe0
d8212c
[  218.889646] pgd = db388000
[  218.892522] [e0d8212c] *pgd=9c440811, *pte=47810653, *ppte=47810453
[  218.899220] Internal error: : 1008 [#1] PREEMPT ARM
[  218.904390] Modules linked in: ipt_MASQUERADE nf_nat_masquerade_ipv4 iptable_
nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack ip_tables x
_tables wl18xx wlcore wlcore_sdio spi_qrsdream pm33xx usb_f_midi usb_f_uac2 u_au
dio libcomposite [last unloaded: spi_omap2_mcspi]
[  218.931327] CPU: 0 PID: 1754 Comm: ifplugd Tainted: G        W       4.14.70.
20+ #13
[  218.939518] Hardware name: Generic AM33XX (Flattened Device Tree)
[  218.945964] task: dc3a9200 task.stack: db37c000
[  218.950775] PC is at omap_hsmmc_set_bus_width+0x1c/0x8c
[  218.956322] LR is at omap_hsmmc_set_ios+0x58/0x268
[  218.961393] pc : [<c073f8e8>]    lr : [<c07426b4>]    psr: 20000013
[  218.968029] sp : db37dbf8  ip : db37dc08  fp : db37dc04
[  218.973525] r10: 00000000  r9 : 00000002  r8 : dc33dd68
[  218.979025] r7 : 00000000  r6 : dc6401e4  r5 : dc640340  r4 : dc640000
[  218.985892] r3 : e0d82100  r2 : dc640000  r1 : 00000001  r0 : dc640340
[  218.992763] Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
[  219.000270] Control: 10c5387d  Table: 9b388019  DAC: 00000051
[  219.006317] Process ifplugd (pid: 1754, stack limit = 0xdb37c210)
[  219.012728] Stack: (0xdb37dbf8 to 0xdb37e000)
[  219.017322] dbe0:                                                       db37d
c2c db37dc08
[  219.025938] dc00: c07426b4 c073f8d8 c074265c dc640000 dc6401e4 00000001 dc3ec
808 dc33dd68
[  219.034553] dc20: db37dc64 db37dc30 c072cfb0 c0742668 00000000 db37dc80 ffffb
098 c111b9c0
[  219.043168] dc40: c111ccc0 c111b9c0 dc640000 00000015 00000001 dc3ec808 db37d
ca4 db37dc68
[  219.051785] dc60: c072d34c c072cf18 c0a967ec c0192a70 db37dca4 00000000 c05d9
a0c dc3ec808
[  219.060400] dc80: 00000004 dc640000 a0000013 dc3ec800 dc3ec808 dc33dd68 db37d
cc4 db37dca8
[  219.069016] dca0: c072d580 c072d308 db205cd0 ffffffea dc2eaa00 dc3ec800 db37d
ce4 db37dcc8
[  219.077632] dcc0: bf0591f8 c072d4fc db032d00 db032d00 db032d38 bf08d6c0 db37d
d04 db37dce8
[  219.086248] dce0: bf0610f4 bf05916c dc33dc40 db032d00 ffffff92 db032d00 db37d
d64 db37dd08
[  219.094864] dd00: bf067f7c bf0610c0 dc3a9200 dc33dc40 db032180 db032f74 dc33d
d48 dc33dd6c
[  219.103478] dd20: 00000000 dc33dc40 00000000 00000000 dc33dc40 00000000 00000
000 dc33d4e8
[  219.112094] dd40: db032420 db032420 dc33d4e0 00000000 db735d80 ffffffff db37d
d84 db37dd68
[  219.120710] dd60: c0a05e10 bf06796c dc33d4e8 dc33d000 db032420 dc33d4e0 db37d
dc4 db37dd88
[  219.129324] dd80: c0a1c5cc c0a05dd4 db032a00 00000000 db37ddc4 00000001 c0a1a
e98 dc33d4e0
[  219.137940] dda0: c0c08db4 00000001 00001002 00000000 db735d80 c1103088 db37d
ddc db37ddc8
[  219.146555] ddc0: c0a1cb40 c0a1c174 c0a1cae0 dc33d000 db37ddf4 db37dde0 c0809
480 c0a1caec
[  219.155171] dde0: dc33d000 00001003 db37de24 db37ddf8 c0809818 c08093d4 db37d
e7c c0460098
[  219.163786] de00: 00000001 dc33d000 00000144 00001002 db229e0c 00000000 db37d
e4c db37de28
[  219.172402] de20: c0809888 c080969c 00000000 db37de74 db735d80 bea8e9b8 db229
e0c 00000000
[  219.181017] de40: db37dec4 db37de50 c08a8f20 c080986c dc33d000 db37deb4 00000
000 dc33d000
[  219.189633] de60: db229e0c 00000014 db229e00 00008914 db37de94 6e616c77 00000
030 00000000
[  219.198246] de80: 00000000 00001003 00000000 00000000 00000000 c8ad147c db37d
ebc 00008914
[  219.206861] dea0: ffffff24 c119fea8 bea8e9b8 bea8e9b8 db37c000 dbeae920 db37d
ed4 db37dec8
[  219.215476] dec0: c08ab230 c08a8870 db37def4 db37ded8 c07e6170 c08ab07c db231
a80 db231a80
[  219.224091] dee0: 00000000 bea8e9b8 db37df7c db37def8 c02a6480 c07e60f8 fffff
fff 00000000
[  219.232706] df00: ffffffff 00000000 e16d8416 00eab5e0 5fcfc5ab 00000000 00000
001 db37df80
[  219.241322] df20: 00000000 b6fc44c0 0000004e c0108e84 db37c000 00000000 db37d
f54 db37df48
[  219.249937] df40: c0196ef4 c01959b4 db37df7c db37df58 c0196f34 db231a80 db231
a80 00000000
[  219.258552] df60: bea8e9b8 00008914 db37c000 00000003 db37dfa4 db37df80 c02a6
d68 c02a63f0
[  219.267168] df80: 000a91db 00000000 00b54008 00000036 c0108e84 00000000 00000
000 db37dfa8
[  219.275784] dfa0: c0108ca0 c02a6d00 000a91db 00000000 00000003 00008914 bea8e
9b8 bea8e9b8
[  219.284399] dfc0: 000a91db 00000000 00b54008 00000036 00000000 00b540b8 00000
000 000a912b
[  219.293014] dfe0: 000bf300 bea8e9a4 00028b20 b6eb21bc 60000010 00000003 00000
000 00000000
[  219.301645] [<c073f8e8>] (omap_hsmmc_set_bus_width) from [<c07426b4>] (omap_h
smmc_set_ios+0x58/0x268)
[  219.311375] [<c07426b4>] (omap_hsmmc_set_ios) from [<c072cfb0>] (mmc_set_init
ial_state+0xa4/0x128)
[  219.320822] [<c072cfb0>] (mmc_set_initial_state) from [<c072d34c>] (mmc_power
_up+0x50/0x1f4)
[  219.329717] [<c072d34c>] (mmc_power_up) from [<c072d580>] (mmc_power_restore_
host+0x90/0x258)
[  219.338724] [<c072d580>] (mmc_power_restore_host) from [<bf0591f8>] (wl12xx_s
dio_set_power+0x98/0xd0 [wlcore_sdio])
[  219.350022] [<bf0591f8>] (wl12xx_sdio_set_power [wlcore_sdio]) from [<bf0610f
4>] (wl12xx_set_power_on+0x40/0x16c [wlcore])
[  219.362085] [<bf0610f4>] (wl12xx_set_power_on [wlcore]) from [<bf067f7c>] (wl
1271_op_add_interface+0x61c/0x964 [wlcore])
[  219.373751] [<bf067f7c>] (wl1271_op_add_interface [wlcore]) from [<c0a05e10>]
 (drv_add_interface+0x48/0x19c)
[  219.384110] [<c0a05e10>] (drv_add_interface) from [<c0a1c5cc>] (ieee80211_do_
open+0x464/0x978)
[  219.393186] [<c0a1c5cc>] (ieee80211_do_open) from [<c0a1cb40>] (ieee80211_ope
n+0x60/0x64)
[  219.401810] [<c0a1cb40>] (ieee80211_open) from [<c0809480>] (__dev_open+0xb8/
0x118)
[  219.409883] [<c0809480>] (__dev_open) from [<c0809818>] (__dev_change_flags+0
x188/0x1b0)
[  219.418410] [<c0809818>] (__dev_change_flags) from [<c0809888>] (dev_change_f
lags+0x28/0x58)
[  219.427308] [<c0809888>] (dev_change_flags) from [<c08a8f20>] (devinet_ioctl+
0x6bc/0x790)
[  219.435927] [<c08a8f20>] (devinet_ioctl) from [<c08ab230>] (inet_ioctl+0x1c0/
0x1d0)
[  219.443994] [<c08ab230>] (inet_ioctl) from [<c07e6170>] (sock_ioctl+0x84/0x30
4)
[  219.451703] [<c07e6170>] (sock_ioctl) from [<c02a6480>] (do_vfs_ioctl+0x9c/0x
910)
[  219.459595] [<c02a6480>] (do_vfs_ioctl) from [<c02a6d68>] (SyS_ioctl+0x74/0x8
4)
[  219.467307] [<c02a6d68>] (SyS_ioctl) from [<c0108ca0>] (ret_fast_syscall+0x0/
0x54)
[  219.475289] Code: e52de004 e8bd4000 e5902004 e5903024 (e593102c)
[  219.481711] ---[ end trace c6e94ada44e6ac27 ]---
~ #
~ #
~ # c0809818>] (__dev_change_flags) from [<c0809888>] (dev_change_flags+0x28/0x5
8)

[  219.451703] [<c07e6170>] (sock_ioctl) from [<c02a6480>] (do_vfs_ioct-ash: syn
tax error: unexpected "("
~ # [  219.427308] [<c0809888>] (dev_change_flags) from [<c08a8f20>] (devinet_io
ctl+0x6bc/0x790)
-ash: syntax error: unexpected "("
~ # [  219.435927] [<c08a8f20>] (devinet_ioctl) from [<c08ab230>] (inet_ioctl+0x
1c0/0x1d0)
-ash: syntax error: unexpected "("
~ # [  219.443994] [<c08ab230>] (inet_ioctl) from [<c07e6170>] (sock_ioctl+0x84/
0x304)
-ash: syntax error: unexpected "("
~ # [  219.451703] [<c07e6170>] (sock_ioctl) from [<c02a6480>] (do_vfs_ioctl+0x9
c/0x910)
-ash: syntax error: unexpected "("
~ # [  219.459595] [<c02a6480>] (do_vfs_ioctl) from [<c02a6d68>] (SyS_ioctl+0x74
/0x84)
-ash: syntax error: unexpected "("
~ # [  219.467307] [<c02a6d68>] (SyS_ioctl) from [<c0108ca0>] (ret_fast_syscall+
0x0/0x54)
-ash: syntax error: unexpected "("
~ # [  219.475289] Code: e52de004 e8bd4000 e5902004 e5903024 (e593102c)
-ash: syntax error: unexpected "("
~ # [  219.481711] ---[ end trace c6e94ada44e6ac27 ]---
ash: missing ]

Any ideas what the problem could be?

Thanks,

Jarrod

  • Additional Information:

    The crash doesn't only happen on sleep, it happens anytime i try to down the wi-fi AFTER starting bluetooth.  Examples:

    1.  Start wi-fi up and connect to network.  Start bluetooth up.  Kill wpa_supplicant.  Panic and crash

    2.  Start bluetooth, start wi-fi and connect.  Kill wpa_supplicant.  Panic and crash

    3.  Start Wi-Fi, start bluetooth, kill bluetooth, kill wpa_supplicant.  Panic and crash

    So as you can see basically once bluetooth has been started i can no longer bring down the wi-fi connection at all or i get a panic and system crash that requires reboot : /

    Thanks,

    Jarrod

  • Progess.

    So i updated to kernel version 4.19.37 because seems like there were some good changes in there.  The panic and crash no longer happens but instead i get this:

    ~ # killall wpa_supplicant
    [ 263.755727] wlan0: deauthenticating from 00:1b:2f:4e:bc:90 by local choice (Reason: 3=DEAUTH_LEAVING)
    ~ # [ 263.821465] wlcore: down
    [ 264.778990] wl1271_sdio mmc1:0001:2: wl12xx_sdio_power_on: failed to get_sync(-110)
    [ 264.814951] wl1271_sdio mmc1:0001:2: wl12xx_sdio_power_on: failed to get_sync(-22)
    [ 264.846886] wl1271_sdio mmc1:0001:2: wl12xx_sdio_power_on: failed to get_sync(-22)
    [ 264.854794] wlcore: ERROR firmware boot failed despite 3 retries

    So basically once bluetooth has been started i am no longer able to down and up the wi-fi without the above happening.  I can start the wi-fi and then start the bluetooth and everything works together fine, i have network connectivity and can transfer data etc.  As soon as i kill wpa_supplicant or down the interface in any way such as to switch configuration or suspend to RAM i get crashes like above.  And from this point on i can no longer up the wlan i just continually get failed to get sync messages when i try until reboot.

    I am thinking possibly there is something awry in my device tree?  It looks as follows for the segments concerning the wl1835mod:

    	wlan_en_reg: fixedregulator@2 {
    		compatible = "regulator-fixed";
    		regulator-name = "wlan-en-regulator";
    		regulator-min-microvolt = <3300000>;
    		regulator-max-microvolt = <3300000>;
    		startup-delay-us = <70000>;
    
    		gpio = <&gpio0 29 GPIO_ACTIVE_HIGH>;
    		enable-active-high;
    	};
    
    	wlan_power_en_reg: fixedregulator@3 {
    		compatible = "regulator-fixed";
    		regulator-name = "wlan-power-regulator";
    		regulator-min-microvolt = <3300000>;
    		regulator-max-microvolt = <3300000>;
    		startup-delay-us = <70000>;
    
    		gpio = <&gpio1 19 GPIO_ACTIVE_HIGH>;
    		enable-active-high;
    	};
    
    	uart3_pins: pinmux_uart3_pins {
    		pinctrl-single,pins = <
    			AM33XX_IOPAD(0x934, PIN_INPUT_PULLUP | MUX_MODE1)	/* mii1_rxd3.uart3_rxd 	- UART3 RXD*/
    			AM33XX_IOPAD(0x938, PIN_OUTPUT | MUX_MODE1)			/* mii1_rxd2.uart3_txd 	- UART3 TXD*/
    			AM33XX_IOPAD(0x948, PIN_INPUT | MUX_MODE3)			/* mdio.uart3_ctsn 		- UART3 CTS*/
    			AM33XX_IOPAD(0x94C, PIN_OUTPUT | MUX_MODE3)			/* mdc.uart3_rtsn 		- UART3 RTS*/
    			AM33XX_IOPAD(0x92C, PIN_OUTPUT | MUX_MODE7)			/* mii1_tx_clk.gpio3_9 	- BT ENABLE*/
    		>;
    	};
    
    	mmc3_pins_default: pinmux_mmc3_pins_default {
    		pinctrl-single,pins = <
    			AM33XX_IOPAD(0x83C, PIN_INPUT_PULLUP | MUX_MODE3) 	/* gpmc_ad15.mmc2_dat3 	- MMC2 DAT3*/
    			AM33XX_IOPAD(0x838, PIN_INPUT_PULLUP | MUX_MODE3) 	/* gpmc_ad14.mmc2_dat2  - MMC2 DAT2*/
    			AM33XX_IOPAD(0x834, PIN_INPUT_PULLUP | MUX_MODE3) 	/* gpmc_ad13.mmc2_dat1  - MMC2 DAT1*/
    			AM33XX_IOPAD(0x830, PIN_INPUT_PULLUP | MUX_MODE3) 	/* gpmc_ad12.mmc2_dat0  - MMC2 DAT0*/
    			AM33XX_IOPAD(0x88c, PIN_INPUT_PULLUP | MUX_MODE3) 	/* gpmc_clk.mmc2_clk   	- MMC2 CLK*/
    			AM33XX_IOPAD(0x888, PIN_INPUT_PULLUP | MUX_MODE3)	/* gpmc_csn3.mmc2_cmd  	- MMC2 CMD*/
    		>;
    	};
    
    	mmc3_pins_sleep: pinmux_mmc3_pins_sleep {
    		pinctrl-single,pins = <
    			AM33XX_IOPAD(0x83C, PIN_INPUT_PULLDOWN | MUX_MODE7) 	/* gpmc_ad15.mmc2_dat3 	- MMC2 DAT3*/
    			AM33XX_IOPAD(0x838, PIN_INPUT_PULLDOWN | MUX_MODE7) 	/* gpmc_ad14.mmc2_dat2  - MMC2 DAT2*/
    			AM33XX_IOPAD(0x834, PIN_INPUT_PULLDOWN | MUX_MODE7) 	/* gpmc_ad13.mmc2_dat1  - MMC2 DAT1*/
    			AM33XX_IOPAD(0x830, PIN_INPUT_PULLDOWN | MUX_MODE7) 	/* gpmc_ad12.mmc2_dat0  - MMC2 DAT0*/
    			AM33XX_IOPAD(0x88c, PIN_INPUT_PULLDOWN | MUX_MODE7) 	/* gpmc_clk.mmc2_clk   	- MMC2 CLK*/
    			AM33XX_IOPAD(0x888, PIN_INPUT_PULLDOWN | MUX_MODE7)		/* gpmc_csn3.mmc2_cmd  	- MMC2 CMD*/
    		>;
    	};
    
    	wlan_pins_default: pinmux_wlan_pins_default {
    		pinctrl-single,pins = <
    			AM33XX_IOPAD(0x930, PIN_INPUT | MUX_MODE7)		/* mii1_rx_clk.gpio3_10 	- WLAN_IRQ*/
    			AM33XX_IOPAD(0x944, PIN_OUTPUT | MUX_MODE7)		/* rmii1_ref_clk.gpio0_29 	- WLAN_ENABLE*/
    			AM33XX_IOPAD(0x84C, PIN_OUTPUT | MUX_MODE7)		/* gpmc_a3.gpio1_19 		- WLAN POWER*/
    		>;
    	};
    
    	wlan_pins_sleep: pinmux_wlan_pins_sleep {
    		pinctrl-single,pins = <
    			AM33XX_IOPAD(0x930, PIN_INPUT | MUX_MODE7)		/* mii1_rx_clk.gpio3_10 	- WLAN_IRQ*/
    			AM33XX_IOPAD(0x944, PIN_OUTPUT | MUX_MODE7)		/* rmii1_ref_clk.gpio0_29 	- WLAN_ENABLE*/
    			AM33XX_IOPAD(0x84C, PIN_OUTPUT | MUX_MODE7)		/* gpmc_a3.gpio1_19 		- WLAN POWER*/
    		>;
    	};
    
    
    &uart3 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&uart3_pins>;
    
    	status = "okay";
    };
    
    &mmc3 {
    	status = "okay";
    	vmmc-supply = <&wlan_power_en_reg>;
    	vmmc_aux-supply = <&wlan_en_reg>;
    	bus-width = <4>;
    	pinctrl-names = "default", "sleep";
    	pinctrl-0 = <&mmc3_pins_default &wlan_pins_default>;
    	pinctrl-1 = <&mmc3_pins_sleep &wlan_pins_sleep>;
    	ti,non-removable;
    	ti,needs-special-hs-handling;
    	cap-power-off-card;
    	keep-power-in-suspend;
    	#address-cells = <1>;
    	#size-cells = <0>;
    	dmas = <&edma_xbar 12 0 1
    		&edma_xbar 13 0 2>;
    	dma-names = "tx", "rx";
    	wlcore: wlcore@0 {
    		compatible = "ti,wl1835";
    		reg = <2>;
    		interrupt-parent = <&gpio3>;
    		interrupts = <10 IRQ_TYPE_EDGE_RISING>;
    		board-ref-clock = <0x4>;
    	};
    };

    My bluetooth is on UART3 with GPIO3_9 controlling the BT_EN, Wlan on mmc3 with GPIO0_29 controlling the WL_EN.  GPIO1_19 controls a regulator that supplies power to the whole chip.

    I will do some probing of the enables and see what i can find... Any advice would be appreciated!!

    Thanks,

    Jarrod

  • Which Bluetooth stack are you using? Bluez? 

    We, will try on AM335x EVM and get back to you.

    Thanks

  • Hello,

    Thank you for taking a look!  I am using bluez version 5.43.  Here are the startup scripts I am running for that:

    echo 105 > /sys/class/gpio/export
    echo out > /sys/class/gpio/gpio105/direction
    echo 0 > /sys/class/gpio/gpio105/value
    sleep 1
    echo 1 > /sys/class/gpio/gpio105/value
    hciattach /dev/ttyO3 texas 3000000
    hciconfig hci0 up > /dev/null
    dbus-daemon --system
    /usr/libexec/bluetooth/bluetoothd -E &
    pulseaudio -D

    Let me know if you need any more information!

    Thanks,

    Jarrod

  • Alright I believe I solved the issue!  So the problem is I had my power regulator connected as the MMC Power supply:

        wlan_power_en_reg: fixedregulator@3 {
            compatible = "regulator-fixed";
            regulator-name = "wlan-power-regulator";
            regulator-min-microvolt = <3300000>;
            regulator-max-microvolt = <3300000>;
            startup-delay-us = <70000>;
    
            gpio = <&gpio1 19 GPIO_ACTIVE_HIGH>;
            enable-active-high;
        };
    
        &mmc3 {
        status = "okay";
        vmmc-supply = <&wlan_power_en_reg>;
        vmmc_aux-supply = <&wlan_en_reg>;
        ......

    So what would happen is when i "down" the wi-fi in any way it pulled this line low cutting power to the entire chip, BUT the BT_EN line is high so it doesn't follow the proper shutdown or startup procedure for the chip causing it to get all kinds of messed up.

    I removed this GPIO control from the mmc node and instead just push the GPIO high on bootup before the mmc is probed.  The power then stays on through wi-fi "down" and no more crash!!!!

    I have to test some more and fix the suspend code for the new kernel version to make sure everything is in fact working properly but i am pretty sure this is resolved.

    Thanks!

    Jarrod