diff options
Diffstat (limited to 'net/mac80211/tx.c')
-rw-r--r-- | net/mac80211/tx.c | 8 |
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 | ||