diff options
| author | Bjoern A. Zeeb <bz@FreeBSD.org> | 2026-03-05 09:58:28 +0000 |
|---|---|---|
| committer | Bjoern A. Zeeb <bz@FreeBSD.org> | 2026-03-05 13:44:02 +0000 |
| commit | f68ebebd8ae469e344f10ed2f3c4d9d983a29f41 (patch) | |
| tree | b00fe728c33c97fe85b68167431757cda2b82ae5 /contrib/pjdfstest/tests/link/17.t | |
| parent | 9592f563c36bd207d98f1b3a13839b88d5760d97 (diff) | |
In lkpi_sta_auth_to_scan() we remove the sta from the firmware
for everything supporting (*sta_state).
We used to run into issues here with iwlwifi in that we had to
use a specific order: set vif->cfg.assoc = false, .aid = 0,
then remove the sta, and then send the mac update as otherwise
we would either have the sta silently removed (if we run
(*bss_info_change) first and fail then or silently not have the
sta removed and upon sta add we would trigger the fw crash.
The order of events seem to have changed now and especially BE200
(iwlwifi/mld) is picky about this and would crash the firmware with
something like:
iwlwifi0: 0x20103311 | ADVANCED_SYSASSERT
iwlwifi0: 0x00000000 | umac branchlink1
iwlwifi0: 0xC00808AA | umac branchlink2
iwlwifi0: 0xD00D6E90 | umac interruptlink1
iwlwifi0: 0x0108C504 | umac interruptlink2
iwlwifi0: 0x00000000 | umac data1 (link_id? seen weird values there though)
iwlwifi0: 0x00000006 | umac data2 (fw_sta_id)
iwlwifi0: 0x00000001 | umac data3
if it would still think we were assoc.
So the new order is as one would have expected initially:
set assoc = false, aid = 0; do the remaining bss_conf (vif/link) changes
and issue the (*vif_cfg_changed) / (*link_info_changed) or for older
drivers (*bss_info_changed). That will tell the mac we are no longer
associated. And only then remove the sta from the firmware.
Update the comment there along so we do have the paper trail as to when
and why this changed.
Tested on: BE200, AX210 (11ac)
Tested on: AX200. 9260, 8265, 3165 (11a)
Sponsored by: The FreeBSD Foundation
MFC after: 3 days
Diffstat (limited to 'contrib/pjdfstest/tests/link/17.t')
0 files changed, 0 insertions, 0 deletions
