rtwn: make sure to not write in upper bits of txdseq

ni_txseqs is kept as 16-bit counter, but we need to trim the upper four
bits as they may have special meanings for the firmware / hardware.
For instance, bit 15 enables hardware / firmware generation of sequence
numbers that overrides sequence numbers programmed by the driver.

Reviewed by:	adrian
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D30814
This commit is contained in:
Andriy Gapon 2021-06-21 11:05:04 +03:00
parent 313724bab9
commit 7544c1d20d

View File

@ -335,7 +335,7 @@ r92c_fill_tx_desc(struct rtwn_softc *sc, struct ieee80211_node *ni,
uint16_t seqno;
if (m->m_flags & M_AMPDU_MPDU) {
seqno = ni->ni_txseqs[tid];
seqno = ni->ni_txseqs[tid] % IEEE80211_SEQ_RANGE;
ni->ni_txseqs[tid]++;
} else
seqno = M_SEQNO_GET(m) % IEEE80211_SEQ_RANGE;