Page MenuHomeFreeBSD

LinuxKPI: 802.11: try to fix iwlwifi("Invalid TXQ id")
ClosedPublic

Authored by bz on Feb 16 2024, 9:22 PM.
Tags
None
Referenced Files
F84181013: D43944.id137058.diff
Mon, May 20, 12:07 PM
Unknown Object (File)
Fri, May 17, 1:41 PM
Unknown Object (File)
Sun, May 12, 6:52 PM
Unknown Object (File)
Thu, May 9, 1:41 AM
Unknown Object (File)
Thu, May 2, 6:49 PM
Unknown Object (File)
Sat, Apr 27, 6:27 AM
Unknown Object (File)
Sat, Apr 27, 6:27 AM
Unknown Object (File)
Fri, Apr 26, 3:29 AM

Details

Summary

We used to call lkpi_wake_tx_queues() for all queues early on in order
to make sure they are ready. Turns out whatever logic in iwlwifi
startup is working correctly these days under LinuxKPI so this is no
longer needed. As the comment indicated the "workaround" did not
always work. Disable it for now.

Part of the actual fix seems to be to properly classify Non-QOS non-data
frames (mgmt and ctl frames for now, unless we have to be even more
careful in the future about certain sub-types) as TID 7/VO.
Contrary to net80211 we must not promote PAE frames.

PR: 274382
MFC after: 1 day

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

bz requested review of this revision.Feb 16 2024, 9:22 PM

with this applied on my wip tree (with al of the previous debugging still in place)

iwlwifi0: lkpi_iv_update_bss:2576: lvif 0xfffffe0141d8b000 vap 0xfffffe0141d8b010 iv_bss 0xfffffe0143303000 lvif_bss 0 lvif_bss->ni 0 synched 0, ni 0xfffffe0143b68000
iv_nstate 0x1 SCAN iv_nstate_b 1 iv_nstate_n 0
	 [0] iv_nstates 0x1 SCAN _task 0xfffffe0141d8b360 _args 0
	 [1] iv_nstates 0 INIT _task 0xfffffe0141d8b380 _args 0
	 [2] iv_nstates 0 INIT _task 0xfffffe0141d8b3a0 _args 0
	 [3] iv_nstates 0 INIT _task 0xfffffe0141d8b3c0 _args 0
	 [4] iv_nstates 0 INIT _task 0xfffffe0141d8b3e0 _args 0
	 [5] iv_nstates 0 INIT _task 0xfffffe0141d8b400 _args 0
	 [6] iv_nstates 0 INIT _task 0xfffffe0141d8b420 _args 0
	 [7] iv_nstates 0 INIT _task 0xfffffe0141d8b440 _args 0
iwlwifi0: lkpi_iv_update_bss:2576: lvif 0xfffffe0141d8b000 vap 0xfffffe0141d8b010 iv_bss 0xfffffe0143b68000 lvif_bss 0 lvif_bss->ni 0 synched 0, ni 0xfffffe0143b78000
iv_nstate 0x2 AUTH iv_nstate_b 2 iv_nstate_n 0
	 [0] iv_nstates 0x1 SCAN _task 0xfffffe0141d8b360 _args 0
	 [1] iv_nstates 0x2 AUTH _task 0xfffffe0141d8b380 _args 192
	 [2] iv_nstates 0 INIT _task 0xfffffe0141d8b3a0 _args 0
	 [3] iv_nstates 0 INIT _task 0xfffffe0141d8b3c0 _args 0
	 [4] iv_nstates 0 INIT _task 0xfffffe0141d8b3e0 _args 0
	 [5] iv_nstates 0 INIT _task 0xfffffe0141d8b400 _args 0
	 [6] iv_nstates 0 INIT _task 0xfffffe0141d8b420 _args 0
	 [7] iv_nstates 0 INIT _task 0xfffffe0141d8b440 _args 0
ieee80211_get_he_iftype_cap_vif:2703: XXX LKPI80211 TODO
ieee80211_sta_recalc_aggregates:2189: XXX LKPI80211 TODO
Invalid TXQ id
iwl_mvm_tx_mpdu:1208: fc 0x00b0 tid 8 txq_id 65535 mvm 0xfffffe0142c49448 skb 0xfffff80002ace000 { len 30 } info 0xfffffe00e4e5dcc0 sta 0xfffff80002a10880 (if you see this please report to PR 274382)
iwlwifi0: iwl_mvm_tx_mpdu:1210: lvif 0xfffffe0141d8b000 vap 0xfffffe0141d8b010 iv_bss 0xfffffe0143b78000 lvif_bss 0xfffff80002a10800 lvif_bss->ni 0xfffffe0143b68000 synched 1
iv_nstate 0x2 AUTH iv_nstate_b 3 iv_nstate_n 0
	 [0] iv_nstates 0x1 SCAN _task 0xfffffe0141d8b360 _args 0
	 [1] iv_nstates 0x2 AUTH _task 0xfffffe0141d8b380 _args 192
	 [2] iv_nstates 0x2 AUTH _task 0xfffffe0141d8b3a0 _args 192
	 [3] iv_nstates 0 INIT _task 0xfffffe0141d8b3c0 _args 0
	 [4] iv_nstates 0 INIT _task 0xfffffe0141d8b3e0 _args 0
	 [5] iv_nstates 0 INIT _task 0xfffffe0141d8b400 _args 0
	 [6] iv_nstates 0 INIT _task 0xfffffe0141d8b420 _args 0
	 [7] iv_nstates 0 INIT _task 0xfffffe0141d8b440 _args 0
iwl_mvm_tx_mpdu:1208: fc 0x00b0 tid 8 txq_id 65535 mvm 0xfffffe0142c49448 skb 0xfffff80002ace000 { len 30 } info 0xfffffe00e4e5dcc0 sta 0xfffff80002a10880 (if you see this please report to PR 274382)
iwlwifi0: iwl_mvm_tx_mpdu:1210: lvif 0xfffffe0141d8b000 vap 0xfffffe0141d8b010 iv_bss 0xfffffe0143b78000 lvif_bss 0xfffff80002a10800 lvif_bss->ni 0xfffffe0143b68000 synched 1
iv_nstate 0x2 AUTH iv_nstate_b 3 iv_nstate_n 0
	 [0] iv_nstates 0x1 SCAN _task 0xfffffe0141d8b360 _args 0
	 [1] iv_nstates 0x2 AUTH _task 0xfffffe0141d8b380 _args 192
	 [2] iv_nstates 0x2 AUTH _task 0xfffffe0141d8b3a0 _args 192
	 [3] iv_nstates 0 INIT _task 0xfffffe0141d8b3c0 _args 0
	 [4] iv_nstates 0 INIT _task 0xfffffe0141d8b3e0 _args 0
	 [5] iv_nstates 0 INIT _task 0xfffffe0141d8b400 _args 0
	 [6] iv_nstates 0 INIT _task 0xfffffe0141d8b420 _args 0
	 [7] iv_nstates 0 INIT _task 0xfffffe0141d8b440 _args 0
XXX-TODO linuxkpi_ieee80211_iterate_keys:4738: UNIMPLEMENTED
iwlwifi0: lkpi_iv_update_bss:2576: lvif 0xfffffe0141d8b000 vap 0xfffffe0141d8b010 iv_bss 0xfffffe0143b78000 lvif_bss 0 lvif_bss->ni 0 synched 0, ni 0xfffffe0143b68000
iv_nstate 0 INIT iv_nstate_b 5 iv_nstate_n 0
	 [0] iv_nstates 0x1 SCAN _task 0xfffffe0141d8b360 _args 0
	 [1] iv_nstates 0x2 AUTH _task 0xfffffe0141d8b380 _args 192
	 [2] iv_nstates 0x2 AUTH _task 0xfffffe0141d8b3a0 _args 192
	 [3] iv_nstates 0x1 SCAN _task 0xfffffe0141d8b3c0 _args 1
	 [4] iv_nstates 0 INIT _task 0xfffffe0141d8b3e0 _args 3
	 [5] iv_nstates 0 INIT _task 0xfffffe0141d8b400 _args 0
	 [6] iv_nstates 0 INIT _task 0xfffffe0141d8b420 _args 0
	 [7] iv_nstates 0 INIT _task 0xfffffe0141d8b440 _args 0
iwlwifi0: lkpi_iv_update_bss:2576: lvif 0xfffffe0141d8b000 vap 0xfffffe0141d8b010 iv_bss 0xfffffe0143b68000 lvif_bss 0 lvif_bss->ni 0 synched 0, ni 0xfffffe0143da3000
iv_nstate 0x1 SCAN iv_nstate_b 6 iv_nstate_n 0
	 [0] iv_nstates 0x1 SCAN _task 0xfffffe0141d8b360 _args 0
	 [1] iv_nstates 0x2 AUTH _task 0xfffffe0141d8b380 _args 192
	 [2] iv_nstates 0x2 AUTH _task 0xfffffe0141d8b3a0 _args 192
	 [3] iv_nstates 0x1 SCAN _task 0xfffffe0141d8b3c0 _args 1
	 [4] iv_nstates 0 INIT _task 0xfffffe0141d8b3e0 _args 3
	 [5] iv_nstates 0x1 SCAN _task 0xfffffe0141d8b400 _args 0
	 [6] iv_nstates 0 INIT _task 0xfffffe0141d8b420 _args 0
	 [7] iv_nstates 0 INIT _task 0xfffffe0141d8b440 _args 0

with this applied on my wip tree (with al of the previous debugging still in place)

(based on out-of-band debugging there are more issues).

I am leaving this comment to let people know that review of this should continue anyway.

Shall correct the typo first before committing.

Tested in branches of main, stable/14 and stable/13. No regression found.

sys/compat/linuxkpi/common/src/linux_80211.c
3680

typo propmote => promote

This revision is now accepted and ready to land.Feb 29 2024, 3:44 PM