[Bug 274382] iwlwifi Invalid TXQ id

From: <bugzilla-noreply_at_freebsd.org>
Date: Sat, 03 Feb 2024 21:38:16 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=274382

--- Comment #17 from Bjoern A. Zeeb <bz@FreeBSD.org> ---
Tracking myself:

iwl_mvm_tx_mpdu:1204: fc 0x00b0 tid 8 txq_id 65535 mvm 0xfffffe00b09dc448 skb
0xfffff80001b59000 { len 30 } info 0xfffffe000edf5ce8 sta 0xfffff8002320f080
(if you see this please report to PR 274382)
[1357.633531] Invalid TXQ id
iwlwifi0: lkpi_sta_a_to_a:1531: lvif 0xfffffe00b0d7b000 vap 0xfffffe00b0d7b010
iv_bss 0xfffffe00b1e20000 lvif_bss 0xfffff8002320f000 lvif_bss->ni
0xfffffe00b1176000 synched 0
iwlwifi0: lkpi_iv_newstate: error 95 during state transition 2 (AUTH) -> 2
(AUTH)


Fatal trap 9: general protection fault while in kernel mode
cpuid = 1; apic id = 01
instruction pointer     = 0x20:0xffffffff80cf7991
stack pointer           = 0x28:0xfffffe00909efd00
frame pointer           = 0x28:0xfffffe00909efd10
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags        = interrupt enabled, resume, IOPL = 0
current process         = 0 (iwlwifi0 net80211 t)
rdi: fffffe00b1176000 rsi: fffff80001b5caf0 rdx: 0000000000000006
rcx: fffffe008ca59c80  r8: fffff80164d36b78  r9: 000000002320f000
rax: deadc0dedeadc0de rbx: fffffe00b1176000 rbp: fffffe00909efd10
r10: 0000000000000000 r11: 0000000000010000 r12: fffff8002320f000
r13: fffffe00b0d7bdc0 r14: deadc0dedeadc0de r15: fffffe00b09dc380
trap number             = 9
panic: general protection fault
cpuid = 1
time = 1706993398
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe00909efa40
vpanic() at vpanic+0x135/frame 0xfffffe00909efb70
panic() at panic+0x43/frame 0xfffffe00909efbd0
trap_fatal() at trap_fatal+0x40f/frame 0xfffffe00909efc30
calltrap() at calltrap+0x8/frame 0xfffffe00909efc30
--- trap 0x9, rip = 0xffffffff80cf7991, rsp = 0xfffffe00909efd00, rbp =
0xfffffe00909efd10 ---
node_free() at node_free+0x11/frame 0xfffffe00909efd10
lkpi_sta_auth_to_scan() at lkpi_sta_auth_to_scan+0x27f/frame 0xfffffe00909efd80
lkpi_iv_newstate() at lkpi_iv_newstate+0x253/frame 0xfffffe00909efdf0
ieee80211_newstate_cb() at ieee80211_newstate_cb+0x2a4/frame 0xfffffe00909efe40
taskqueue_run_locked() at taskqueue_run_locked+0xab/frame 0xfffffe00909efec0
taskqueue_thread_loop() at taskqueue_thread_loop+0xd3/frame 0xfffffe00909efef0
fork_exit() at fork_exit+0x82/frame 0xfffffe00909eff30
fork_trampoline() at fork_trampoline+0xe/frame 0xfffffe00909eff30
--- trap 0xafafafaf, rip = 0xafafafafafafafaf, rsp = 0xafafafafafafafaf, rbp =
0xafafafafafafafaf ---
KDB: enter: panic
[ thread pid 0 tid 100134 ]
Stopped at      kdb_enter+0x33: movq    $0,0xe3a3e2(%rip)


..
        iv_nstate 0x1 SCAN iv_nstate_b 4 iv_nstate_n 0
         [0] iv_nstates 0x2 AUTH _task 0xfffffe00b0d7b360 _args 192
         [1] iv_nstates 0x2 AUTH _task 0xfffffe00b0d7b380 _args 192
         [2] iv_nstates 0x2 AUTH _task 0xfffffe00b0d7b3a0 _args 192
         [3] iv_nstates 0x1 SCAN _task 0xfffffe00b0d7b3c0 _args 1
         [4] iv_nstates 0x2 AUTH _task 0xfffffe00b0d7b3e0 _args 192
         [5] iv_nstates 0 INIT _task 0xfffffe00b0d7b400 _args 0
         [6] iv_nstates 0 INIT _task 0xfffffe00b0d7b420 _args 3
         [7] iv_nstates 0x1 SCAN _task 0xfffffe00b0d7b440 _args 0
..

Note the deadc0dedeadc0de in rax;  from the log it looks like we did a bss
swap;  trying to send on auth still.  Going A-A multiple times.  The txq is no
longer valid (so likely was the sta.  We try to free our local cache and it is
gone already in auth_to_scan.  Need to find that missing ni reference (possibly
on the m->m_pkthdr.rcvif or our pkthdr cache?

-- 
You are receiving this mail because:
You are on the CC list for the bug.