Page MenuHomeFreeBSD

D48295.1779190435.diff
No OneTemporary

Size
783 B
Referenced Files
None
Subscribers
None

D48295.1779190435.diff

diff --git a/sys/dev/rtwn/rtl8812a/r12a_tx.c b/sys/dev/rtwn/rtl8812a/r12a_tx.c
--- a/sys/dev/rtwn/rtl8812a/r12a_tx.c
+++ b/sys/dev/rtwn/rtl8812a/r12a_tx.c
@@ -103,11 +103,17 @@
if (mode == IEEE80211_PROT_CTSONLY ||
mode == IEEE80211_PROT_RTSCTS) {
- /* TODO: VHT */
- if (RTWN_RATE_IS_HT(ridx))
+ /*
+ * Note: this code assumes basic rates for protection for
+ * both 802.11abg and 802.11n rates.
+ */
+ if (RTWN_RATE_IS_VHT(ridx))
+ rate = rtwn_ctl_vhtrate(ic->ic_rt, ridx);
+ else if (RTWN_RATE_IS_HT(ridx))
rate = rtwn_ctl_mcsrate(ic->ic_rt, ridx);
else
rate = ieee80211_ctl_rate(ic->ic_rt, ridx2rate[ridx]);
+ /* Map basic rate back to ridx */
ridx = rate2ridx(IEEE80211_RV(rate));
txd->txdw4 |= htole32(SM(R12A_TXDW4_RTSRATE, ridx));

File Metadata

Mime Type
text/plain
Expires
Tue, May 19, 11:33 AM (59 m, 38 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28743891
Default Alt Text
D48295.1779190435.diff (783 B)

Event Timeline