aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/tx.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/mac80211/tx.c')
-rw-r--r--net/mac80211/tx.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
index 15c1b286e280..6ca857f8f424 100644
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -656,6 +656,9 @@ ieee80211_tx_h_rate_ctrl(struct ieee80211_tx_data *tx)
656 txrc.rts = rts = true; 656 txrc.rts = rts = true;
657 } 657 }
658 658
659 info->control.use_rts = rts;
660 info->control.use_cts_prot = tx->sdata->vif.bss_conf.use_cts_prot;
661
659 /* 662 /*
660 * Use short preamble if the BSS can handle it, but not for 663 * Use short preamble if the BSS can handle it, but not for
661 * management frames unless we know the receiver can handle 664 * management frames unless we know the receiver can handle
@@ -766,6 +769,11 @@ ieee80211_tx_h_rate_ctrl(struct ieee80211_tx_data *tx)
766 */ 769 */
767 if (rc_rate->flags & IEEE80211_TX_RC_MCS) { 770 if (rc_rate->flags & IEEE80211_TX_RC_MCS) {
768 WARN_ON(rc_rate->idx > 76); 771 WARN_ON(rc_rate->idx > 76);
772
773 if (!(rc_rate->flags & IEEE80211_TX_RC_USE_RTS_CTS) &&
774 tx->sdata->vif.bss_conf.use_cts_prot)
775 rc_rate->flags |=
776 IEEE80211_TX_RC_USE_CTS_PROTECT;
769 continue; 777 continue;
770 } 778 }
771 779