[Bug 274382] iwlwifi Invalid TXQ id
- In reply to: bugzilla-noreply_a_freebsd.org: "[Bug 274382] iwlwifi Invalid TXQ id"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 12 Jun 2024 16:42:28 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=274382
--- Comment #78 from commit-hook@FreeBSD.org ---
A commit in branch stable/14 references this bug:
URL:
https://cgit.FreeBSD.org/src/commit/?id=2ab1b827d49f473e30a91382d2ce03e268af45c5
commit 2ab1b827d49f473e30a91382d2ce03e268af45c5
Author: Bjoern A. Zeeb <bz@FreeBSD.org>
AuthorDate: 2024-06-05 22:54:36 +0000
Commit: Bjoern A. Zeeb <bz@FreeBSD.org>
CommitDate: 2024-06-12 13:59:46 +0000
LinuxKPI: 802.11: make sure we can send DISASSOC or DEAUTH frames
The "Invalid TXQ" error from iwlwifi seems to be triggered by a
frame being sent for a sta which is no longer known to the driver/fw.
While we make sure to trigger the sending of the frame in net80211
early enough (by calling (*iv_newstate)() early on rather than at
the end), TX in LinuxKPI is run in a deferred task. When we drop the
net80211 ic lock again and re-acquire the LHW lock the packet may not
yet have made it to the driver.
Work around this between the (ic and lhw) locks by making sure
(a) no new packets get queued after we return from (*iv_newstate)(),
and (b) the TX task has run or gets cancelled and we manually push
any remaining packets out (or let lsta_free() clean them up).
The disabled packet queuing now also needs to be re-enabled in
scan_to_auth() in case an lsta is staying in service or gets re-used.
Also make sure that any following lkpi_wake_tx_queues() calls no
longer ignore queues which have not seen a prior dequeue.
This former workaround "feature" (ltxq->seen_dequeue) should be
fully garbage collected in a later change on its own.
Sponsored by: The FreeBSD Foundation
PR: 274382
Tested by: emaste, lwhsu, thj, rkoberman at gmail.com
Accepted by: adrian
Differential Revision: https://reviews.freebsd.org/D45508
(cherry picked from commit 886653492945f7e945eb9bdaf5bc2ae26df96236)
sys/compat/linuxkpi/common/src/linux_80211.c | 95 +++++++++++++++++++++++++---
1 file changed, 86 insertions(+), 9 deletions(-)
--
You are receiving this mail because:
You are on the CC list for the bug.