diff options
author | Andriy Gapon <avg@FreeBSD.org> | 2021-06-21 08:05:04 +0000 |
---|---|---|
committer | Andriy Gapon <avg@FreeBSD.org> | 2021-06-21 08:05:04 +0000 |
commit | 7544c1d20d8b7127ed3511edeb94e01d328daebb (patch) | |
tree | 536ed3e0d6af2b067bbad61361456d27f5d61227 | |
parent | 313724bab940c1844fda3d797cf88cd46780e62a (diff) | |
download | src-7544c1d20d8b7127ed3511edeb94e01d328daebb.tar.gz src-7544c1d20d8b7127ed3511edeb94e01d328daebb.zip |
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
-rw-r--r-- | sys/dev/rtwn/rtl8192c/r92c_tx.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/dev/rtwn/rtl8192c/r92c_tx.c b/sys/dev/rtwn/rtl8192c/r92c_tx.c index ab2d05635358..b01731ba29ed 100644 --- a/sys/dev/rtwn/rtl8192c/r92c_tx.c +++ b/sys/dev/rtwn/rtl8192c/r92c_tx.c @@ -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; |