[Bug 300561] ieee80211_newstate_cb probably shouldn't assert on (some?) INIT state change failures
Date: Fri, 06 Nov 2026 18:39:31 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=300561
Bug ID: 300561
Summary: ieee80211_newstate_cb probably shouldn't assert on
(some?) INIT state change failures
Product: Base System
Version: 16.0-CURRENT
Hardware: Any
OS: Any
Status: New
Severity: Affects Only Me
Priority: ---
Component: wireless
Assignee: wireless@FreeBSD.org
Reporter: kevans@freebsd.org
e.g.,:
```
panic: INIT state change failed
[...]
#14 0xffffffff80e227c5 in ieee80211_newstate_cb (xvap=0xfffff80037b6f000,
npending=<optimized out>)
at /usr/src.kbsd/sys/net80211/ieee80211_proto.c:2615
vap = 0xfffff80037b6f000
ic = <optimized out>
nstate_num = <optimized out>
nstate = IEEE80211_S_INIT
arg = -1
ostate = IEEE80211_S_RUN
rc = 35
#15 0xffffffff80cb6a2b in taskqueue_run_locked (
queue=queue@entry=0xfffff8002b13a100)
at /usr/src.kbsd/sys/kern/subr_taskqueue.c:542
et = {et_link = {tqe_next = 0x2265797aec0,
tqe_prev = 0xffffffff81318115}, et_td = 0xfffffe015797aec0,
et_section = {bucket = 778084352}, et_old_priority = 0 '\000'}
tb = {tb_running = 0xfffff80037b6f3d0, tb_seq = 1776,
tb_canceling = false, tb_wanted = false, tb_link = {le_next = 0x0,
le_prev = 0xfffff8002b13a110}}
epochtasks = 0
pending = 1
task = <optimized out>
#16 0xffffffff80cb7a63 in taskqueue_thread_loop (
arg=arg@entry=0xfffffe017bf12118)
at /usr/src.kbsd/sys/kern/subr_taskqueue.c:870
tqp = <optimized out>
tq = 0xfffff8002b13a100
```
12:22 <@adrian> i bet the iwx nic went out to lunch with a firmware panic
12:22 <@adrian> and iwx state changes were happening
12:22 <@adrian> and firmware recovery / restart didn't run yet because of that
assert
12:22 <@adrian> comment out that assert kevans and let the failure path finish
[...]
12:30 <@adrian> but yeah please file a bug kevans, this is [suboptimal and]
needs to be fixed; drivers can fail state changes and it should not be an
assert
12:30 <@adrian> especially since /by the time the assertion has happened/
you've already lost the state in the functions that returned that are relevant
--
You are receiving this mail because:
You are the assignee for the bug.