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.

Linux/WL1831MOD: Frequent kernel WARN_ON logs

Part Number: WL1831MOD
Other Parts Discussed in Thread: WL1271

Tool/software: Linux

Hello,

I am testing a WL1831MOD on a AM335x-based board

  • Kernel is TI linux 4.14.y release (SHA 28d73230daa45803af5fed792bf635fe40ee3dbd) with PREEMPT RT
  • wl18xx driver included in that kernel tree
  • PHY firmware version: Rev 8.2.0.0.242
  • firmware booted (Rev 8.9.0.0.79)
  • wpa_supplicant 4.8

I am seeing many stack traces dumped to dmesg by this WARN_ON() line:

kernel: ------------[ cut here ]------------
kernel: WARNING: CPU: 0 PID: 894 at drivers/net/wireless/ti/wlcore/ps.c:91 wl1271_ps_elp_sleep+0x60/0xc0 [wlcore]
kernel: Modules linked in: wl18xx wlcore sensedaq_driver(O) sense_multicolor_led(O) wlcore_sdio
kernel: CPU: 0 PID: 894 Comm: crda Tainted: G        W  O    4.14.79-rt47 #1
kernel: Hardware name: Generic AM33XX (Flattened Device Tree)
kernel: Backtrace:
kernel: [<c010aa60>] (dump_backtrace) from [<c010ad10>] (show_stack+0x18/0x1c)
kernel:  r7:00000009 r6:00000000 r5:bf03f4f6 r4:00000000
kernel: [<c010acf8>] (show_stack) from [<c071f604>] (dump_stack+0x20/0x28)
kernel: [<c071f5e4>] (dump_stack) from [<c0124e60>] (__warn+0xe0/0xfc)
kernel: [<c0124d80>] (__warn) from [<c0124f34>] (warn_slowpath_null+0x28/0x30)
kernel:  r9:00000000 r8:c0b4dac4 r7:00000000 r6:daf7ad4c r5:d9934f6c r4:d9934f20
kernel: [<c0124f0c>] (warn_slowpath_null) from [<bf032ae4>] (wl1271_ps_elp_sleep+0x60/0xc0 [wlcore])
kernel: [<bf032a84>] (wl1271_ps_elp_sleep [wlcore]) from [<bf02b394>] (wlcore_regdomain_config+0x70/0x74 [wlcore])
kernel:  r5:d9934f6c r4:d9934f20
kernel: [<bf02b324>] (wlcore_regdomain_config [wlcore]) from [<bf02b3c4>] (wl1271_reg_notify+0x2c/0x30 [wlcore])
kernel:  r5:d99341e0 r4:d10b2a80
kernel: [<bf02b398>] (wl1271_reg_notify [wlcore]) from [<c06bda30>] (wiphy_update_regulatory+0x3ac/0x3c0)
kernel:  r5:d99341e0 r4:c0b4dac4
kernel: [<c06bd684>] (wiphy_update_regulatory) from [<c06bf54c>] (set_regdom+0x334/0x400)
kernel:  r10:c0861840 r9:daf7b41c r8:c0b4da18 r7:d10b2a80 r6:c0b4d938 r5:00000000
kernel:  r4:d9934000
kernel: [<c06bf218>] (set_regdom) from [<c06c82d0>] (nl80211_set_reg+0x138/0x230)
kernel:  r9:daf7b41c r8:d103e9c8 r7:00000000 r6:d114fcd0 r5:daf7ad00 r4:daf7ade0
kernel: [<c06c8198>] (nl80211_set_reg) from [<c057f034>] (genl_rcv_msg+0x2ec/0x35c)
kernel:  r10:00000000 r9:c0b44e88 r8:db40e000 r7:d10b7000 r6:d103e814 r5:c093df34
kernel:  r4:c0861e90
kernel: [<c057ed48>] (genl_rcv_msg) from [<c057dc3c>] (netlink_rcv_skb+0x80/0xd8)
kernel:  r10:000001c8 r9:00000000 r8:d114fd84 r7:d103f400 r6:c057ed48 r5:d103e800
kernel:  r4:d10b7000
kernel: [<c057dbbc>] (netlink_rcv_skb) from [<c057e7a0>] (genl_rcv+0x28/0x3c)
kernel:  r6:000001c8 r5:d10b7000 r4:c0b46710
kernel: [<c057e778>] (genl_rcv) from [<c057d47c>] (netlink_unicast+0x134/0x1e8)
kernel:  r5:d10b7000 r4:db54fc00
kernel: [<c057d348>] (netlink_unicast) from [<c057d910>] (netlink_sendmsg+0x318/0x334)
kernel:  r9:00000000 r8:d114ff48 r7:00000000 r6:d103f400 r5:00000000 r4:d10b7000
kernel: [<c057d5f8>] (netlink_sendmsg) from [<c053840c>] (sock_sendmsg+0x1c/0x2c)
kernel:  r10:00000000 r9:00000000 r8:00000000 r7:db323540 r6:d114fe28 r5:00000000
kernel:  r4:d114ff48
kernel: [<c05383f0>] (sock_sendmsg) from [<c0538b5c>] (___sys_sendmsg+0x1c8/0x208)
kernel: [<c0538994>] (___sys_sendmsg) from [<c0539834>] (__sys_sendmsg+0x48/0x6c)
kernel:  r10:00000128 r9:d114e000 r8:c0107424 r7:00000128 r6:00000000 r5:be86cc7c
kernel:  r4:db323540
kernel: [<c05397ec>] (__sys_sendmsg) from [<c0539868>] (SyS_sendmsg+0x10/0x14)
kernel:  r6:b6dca000 r5:00023610 r4:0000006c
kernel: [<c0539858>] (SyS_sendmsg) from [<c0107220>] (ret_fast_syscall+0x0/0x5c)
kernel: ---[ end trace 0000000000000003 ]---

To reproduce this case, the wifi is switching associations between several APs due to varying signal strengths.  The reassociations occur about every 2 minutes, so it is a somewhat extreme though realistic scenario.  Please let me know what I should think about this.  Does it represent an issue?