svn commit: r343239 - in stable/12/sys/dev/rtwn: rtl8192c rtl8812a
Andriy Voskoboinyk
avos at FreeBSD.org
Mon Jan 21 01:03:05 UTC 2019
Author: avos
Date: Mon Jan 21 01:03:03 2019
New Revision: 343239
URL: https://svnweb.freebsd.org/changeset/base/343239
Log:
MFC r343092:
rtwn(4): clear 'basic' rate bit before calculating RTS/CTS rate.
Rate tables have this bit set to indicate minimal set of basic rates;
however, it overlappes with MCS bit, so rate2ridx() will treat them as
an 11n rate.
Due to the current rates setup the issue can be reproduced only
in 5GHz band with 11n / protection enabled.
Modified:
stable/12/sys/dev/rtwn/rtl8192c/r92c_tx.c
stable/12/sys/dev/rtwn/rtl8812a/r12a_tx.c
Directory Properties:
stable/12/ (props changed)
Modified: stable/12/sys/dev/rtwn/rtl8192c/r92c_tx.c
==============================================================================
--- stable/12/sys/dev/rtwn/rtl8192c/r92c_tx.c Mon Jan 21 00:53:38 2019 (r343238)
+++ stable/12/sys/dev/rtwn/rtl8192c/r92c_tx.c Mon Jan 21 01:03:03 2019 (r343239)
@@ -103,7 +103,7 @@ r92c_tx_protection(struct rtwn_softc *sc, struct r92c_
rate = rtwn_ctl_mcsrate(ic->ic_rt, ridx);
else
rate = ieee80211_ctl_rate(ic->ic_rt, ridx2rate[ridx]);
- ridx = rate2ridx(rate);
+ ridx = rate2ridx(IEEE80211_RV(rate));
txd->txdw4 |= htole32(SM(R92C_TXDW4_RTSRATE, ridx));
/* RTS rate fallback limit (max). */
Modified: stable/12/sys/dev/rtwn/rtl8812a/r12a_tx.c
==============================================================================
--- stable/12/sys/dev/rtwn/rtl8812a/r12a_tx.c Mon Jan 21 00:53:38 2019 (r343238)
+++ stable/12/sys/dev/rtwn/rtl8812a/r12a_tx.c Mon Jan 21 01:03:03 2019 (r343239)
@@ -111,7 +111,7 @@ r12a_tx_protection(struct rtwn_softc *sc, struct r12a_
rate = rtwn_ctl_mcsrate(ic->ic_rt, ridx);
else
rate = ieee80211_ctl_rate(ic->ic_rt, ridx2rate[ridx]);
- ridx = rate2ridx(rate);
+ ridx = rate2ridx(IEEE80211_RV(rate));
txd->txdw4 |= htole32(SM(R12A_TXDW4_RTSRATE, ridx));
/* RTS rate fallback limit (max). */
More information about the svn-src-stable
mailing list