diff options
| author | Adrian Chadd <adrian@FreeBSD.org> | 2025-09-21 01:55:00 +0000 |
|---|---|---|
| committer | Adrian Chadd <adrian@FreeBSD.org> | 2025-09-21 17:47:18 +0000 |
| commit | 52245588707851f3175551bf3934e206ca2b6ad7 (patch) | |
| tree | cda7f4a459282298ed4ef844b233b9be4e2883da | |
| parent | 0c1684dd456e3df306b359b04e61f9f2048d9ff2 (diff) | |
iwx: re-add sequence numbers for non-AMPDU, preserving previous behaviour
I received a report on freebsd-wireless@ that traffic stopped working.
It seems that although my AX210 is fine with this change, the AX201/22000
hardware/firmware seems to require it.
There's a bit to set in the TX command to force the FW to set the
sequence control. We only set a few flags, and we don't set that.
So, add the sequence number allocation where encryption is performed.
Locally tested:
* AX210, STA mode
* AX201, STA mode
Differential Revision: https://reviews.freebsd.org/D52652
Reviewed by: kevans
Tested by: kevans
| -rw-r--r-- | sys/dev/iwx/if_iwx.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/dev/iwx/if_iwx.c b/sys/dev/iwx/if_iwx.c index 3b29c8e78b97..8422fcb787c3 100644 --- a/sys/dev/iwx/if_iwx.c +++ b/sys/dev/iwx/if_iwx.c @@ -5673,8 +5673,9 @@ iwx_tx(struct iwx_softc *sc, struct mbuf *m, struct ieee80211_node *ni) if (rinfo == NULL) return EINVAL; - /* Offloaded sequence number assignment */ - /* Note: Should be done in firmware on all supported devices */ + /* Offloaded sequence number assignment; non-AMPDU case */ + if ((m->m_flags & M_AMPDU_MPDU) == 0) + ieee80211_output_seqno_assign(ni, -1, m); /* Radiotap */ if (ieee80211_radiotap_active_vap(vap)) { |
