--- a/net/mac80211/ieee80211_i.h
+++ b/net/mac80211/ieee80211_i.h
-@@ -726,6 +726,8 @@ struct ieee80211_sub_if_data {
+@@ -702,6 +702,8 @@ struct ieee80211_sub_if_data {
/* bitmap of allowed (non-MCS) rate indexes for rate control */
u32 rc_rateidx_mask[IEEE80211_NUM_BANDS];
union {
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
-@@ -2112,9 +2112,20 @@ static int ieee80211_set_bitrate_mask(st
+@@ -2119,9 +2119,20 @@ static int ieee80211_set_bitrate_mask(st
}
for (i = 0; i < IEEE80211_NUM_BANDS; i++) {
return 0;
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
-@@ -3672,7 +3672,7 @@ void ieee80211_send_bar(struct ieee80211
+@@ -3676,7 +3676,7 @@ void ieee80211_send_bar(struct ieee80211
* (deprecated; this will be removed once drivers get updated to use
* rate_idx_mask)
* @rate_idx_mask: user-requested (legacy) rate mask
* @bss: whether this frame is sent out in AP or IBSS mode
*/
struct ieee80211_tx_rate_control {
-@@ -3684,7 +3684,7 @@ struct ieee80211_tx_rate_control {
+@@ -3688,7 +3688,7 @@ struct ieee80211_tx_rate_control {
bool rts, short_preamble;
u8 max_rate_idx;
u32 rate_idx_mask;
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
-@@ -642,9 +642,11 @@ ieee80211_tx_h_rate_ctrl(struct ieee8021
+@@ -637,9 +637,11 @@ ieee80211_tx_h_rate_ctrl(struct ieee8021
txrc.max_rate_idx = -1;
else
txrc.max_rate_idx = fls(txrc.rate_idx_mask) - 1;
txrc.bss = (tx->sdata->vif.type == NL80211_IFTYPE_AP ||
tx->sdata->vif.type == NL80211_IFTYPE_MESH_POINT ||
tx->sdata->vif.type == NL80211_IFTYPE_ADHOC);
-@@ -2480,8 +2482,6 @@ struct sk_buff *ieee80211_beacon_get_tim
+@@ -2475,8 +2477,6 @@ struct sk_buff *ieee80211_beacon_get_tim
txrc.max_rate_idx = -1;
else
txrc.max_rate_idx = fls(txrc.rate_idx_mask) - 1;