aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/bwn/if_bwn.c
diff options
context:
space:
mode:
authorAdrian Chadd <adrian@FreeBSD.org>2016-06-06 07:09:02 +0000
committerAdrian Chadd <adrian@FreeBSD.org>2016-06-06 07:09:02 +0000
commit4594925d809031a262bf2aee5423350a1f929f13 (patch)
tree3acfe7b0a16256787b78e1e2b7b115228a7d18a8 /sys/dev/bwn/if_bwn.c
parentfa4828b0ab8eb9bf42bb927fd6170687e9090882 (diff)
downloadsrc-4594925d809031a262bf2aee5423350a1f929f13.tar.gz
src-4594925d809031a262bf2aee5423350a1f929f13.zip
[bwn] don't use a 1MB CCK RTS frame for 11a OFDM transmissions.
Notes
Notes: svn path=/head/; revision=301485
Diffstat (limited to 'sys/dev/bwn/if_bwn.c')
-rw-r--r--sys/dev/bwn/if_bwn.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/sys/dev/bwn/if_bwn.c b/sys/dev/bwn/if_bwn.c
index 4967af1d1dd2..5fdc24c938c5 100644
--- a/sys/dev/bwn/if_bwn.c
+++ b/sys/dev/bwn/if_bwn.c
@@ -6229,7 +6229,6 @@ bwn_set_txhdr(struct bwn_mac *mac, struct ieee80211_node *ni,
else if (tp->ucastrate != IEEE80211_FIXED_RATE_NONE)
rate = rate_fb = tp->ucastrate;
else {
- /* XXX TODO: don't fall back to CCK rates for OFDM */
rix = ieee80211_ratectl_rate(ni, NULL, 0);
rate = ni->ni_txrate;
@@ -6324,9 +6323,11 @@ bwn_set_txhdr(struct bwn_mac *mac, struct ieee80211_node *ni,
macctl |= BWN_TX_MAC_LONGFRAME;
if (ic->ic_flags & IEEE80211_F_USEPROT) {
- /* XXX RTS rate is always 1MB??? */
- /* XXX TODO: don't fall back to CCK rates for OFDM */
- rts_rate = BWN_CCK_RATE_1MB;
+ /* Note: don't fall back to CCK rates for 5G */
+ if (phy->gmode)
+ rts_rate = BWN_CCK_RATE_1MB;
+ else
+ rts_rate = BWN_OFDM_RATE_6MB;
rts_rate_fb = bwn_get_fbrate(rts_rate);
/* XXX 'rate' here is hardware rate now, not the net80211 rate */