On 6/13/2024 11:37 AM, Kalle Valo wrote: > Aaradhana Sahu <quic_aarasahu@xxxxxxxxxxx> writes: > >> On 6/10/2024 10:40 PM, Kalle Valo wrote: >>> Aaradhana Sahu <quic_aarasahu@xxxxxxxxxxx> writes: >>> >>>> Whenever firmware is crashed in split-phy below WARN_ON triggered: >>>> >>>> ? __warn+0x7b/0x1a0 >>>> ? drv_stop+0x1eb/0x210 [mac80211] >>>> ? report_bug+0x10b/0x200 >>>> ? handle_bug+0x3f/0x70 >>>> ? exc_invalid_op+0x13/0x60 >>>> ? asm_exc_invalid_op+0x16/0x20 >>>> ? drv_stop+0x1eb/0x210 [mac80211] >>>> ieee80211_do_stop+0x5ba/0x850 [mac80211] >>>> ieee80211_stop+0x51/0x180 [mac80211] >>>> __dev_close_many+0xb3/0x130 >>>> dev_close_many+0xa3/0x180 >>>> ? lock_release+0xde/0x420 >>>> dev_close.part.147+0x5f/0xa0 >>>> cfg80211_shutdown_all_interfaces+0x44/0xe0 [cfg80211] >>>> ieee80211_restart_work+0xf9/0x130 [mac80211] >>>> process_scheduled_works+0x377/0x6f0 >>> >>> This is just the stack trace, not the full warning. If you send me the >>> full warning I can add it to the commit message. Also it would be always >>> good to identify what warning it is exactly as line numbers can change >>> etc. >>> >> >> Sure, the full warning is given below: >> >> [ 364.713223] WARNING: CPU: 3 PID: 82 at net/mac80211/driver-ops.c:41 >> drv_stop+0xac/0xbc >> [ 364.716875] Modules linked in: ath12k qmi_helpers >> [ 364.724598] CPU: 3 PID: 82 Comm: kworker/3:2 Tainted: G D W >> 6.9.0-next-20240520-00113-gd981a3784e15 #39 >> [ 364.729378] Hardware name: Qualcomm Technologies, Inc. IPQ9574/AP-AL02-C9 (DT) >> [ 364.739965] Workqueue: events_freezable ieee80211_restart_work >> [ 364.747082] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) >> [ 364.752897] pc : drv_stop+0xac/0xbc >> [ 364.759752] lr : ieee80211_stop_device+0x54/0x64 >> [ 364.763226] sp : ffff8000848dbb20 >> [ 364.768085] x29: ffff8000848dbb20 x28: 0000000000000790 x27: ffff000014d78900 >> [ 364.771301] x26: ffff000014d791f8 x25: ffff000007f0d9b0 x24: 0000000000000018 >> [ 364.778419] x23: 0000000000000001 x22: 0000000000000000 x21: ffff000014d78e10 >> [ 364.785537] x20: ffff800081dc0000 x19: ffff000014d78900 x18: ffffffffffffffff >> [ 364.792655] x17: ffff7fffbca84000 x16: ffff800083fe0000 x15: ffff800081dc0b48 >> [ 364.799774] x14: 0000000000000076 x13: 0000000000000076 x12: 0000000000000001 >> [ 364.806892] x11: 0000000000000000 x10: 0000000000000a60 x9 : ffff8000848db980 >> [ 364.814009] x8 : ffff000000dddfc0 x7 : 0000000000000400 x6 : ffff800083b012d8 >> [ 364.821128] x5 : ffff800083b012d8 x4 : 0000000000000000 x3 : ffff000014d78398 >> [ 364.828246] x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffff000014d78900 >> [ 364.835364] Call trace: >> [ 364.842478] drv_stop+0xac/0xbc >> [ 364.844734] ieee80211_stop_device+0x54/0x64 >> [ 364.847860] ieee80211_do_stop+0x5a0/0x790 >> [ 364.852375] ieee80211_stop+0x4c/0x178 >> [ 364.856280] __dev_close_many+0xb0/0x150 >> [ 364.860014] dev_close_many+0x88/0x130 >> [ 364.864092] dev_close.part.171+0x44/0x74 >> [ 364.867653] dev_close+0x1c/0x28 >> [ 364.871732] cfg80211_shutdown_all_interfaces+0x44/0xfc >> [ 364.875031] ieee80211_restart_work+0xfc/0x14c >> [ 364.879979] process_scheduled_works+0x18c/0x2dc >> [ 364.884494] worker_thread+0x13c/0x314 >> [ 364.889266] kthread+0x118/0x124 >> [ 364.892825] ret_from_fork+0x10/0x20 >> [ 364.896211] ---[ end trace 0000000000000000 ]--- > > Thanks, so I assume it's this check from drv_stop(): > > if (WARN_ON(!local->started)) > return; > Yes.