diff options
Diffstat (limited to 'package/mac80211/patches/550-mac80211_optimize_mcs_rate_mask.patch')
-rw-r--r-- | package/mac80211/patches/550-mac80211_optimize_mcs_rate_mask.patch | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/package/mac80211/patches/550-mac80211_optimize_mcs_rate_mask.patch b/package/mac80211/patches/550-mac80211_optimize_mcs_rate_mask.patch index d1f459930c..a966fef16e 100644 --- a/package/mac80211/patches/550-mac80211_optimize_mcs_rate_mask.patch +++ b/package/mac80211/patches/550-mac80211_optimize_mcs_rate_mask.patch @@ -1,6 +1,6 @@ --- a/net/mac80211/ieee80211_i.h +++ b/net/mac80211/ieee80211_i.h -@@ -710,6 +710,8 @@ struct ieee80211_sub_if_data { +@@ -715,6 +715,8 @@ struct ieee80211_sub_if_data { /* bitmap of allowed (non-MCS) rate indexes for rate control */ u32 rc_rateidx_mask[IEEE80211_NUM_BANDS]; @@ -11,7 +11,7 @@ union { --- a/net/mac80211/cfg.c +++ b/net/mac80211/cfg.c -@@ -2136,9 +2136,20 @@ static int ieee80211_set_bitrate_mask(st +@@ -2149,9 +2149,20 @@ static int ieee80211_set_bitrate_mask(st } for (i = 0; i < IEEE80211_NUM_BANDS; i++) { @@ -34,7 +34,7 @@ return 0; --- a/include/net/mac80211.h +++ b/include/net/mac80211.h -@@ -3670,7 +3670,7 @@ void ieee80211_send_bar(struct ieee80211 +@@ -3718,7 +3718,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 @@ -43,7 +43,7 @@ * @bss: whether this frame is sent out in AP or IBSS mode */ struct ieee80211_tx_rate_control { -@@ -3682,7 +3682,7 @@ struct ieee80211_tx_rate_control { +@@ -3730,7 +3730,7 @@ struct ieee80211_tx_rate_control { bool rts, short_preamble; u8 max_rate_idx; u32 rate_idx_mask; @@ -59,17 +59,17 @@ else txrc.max_rate_idx = fls(txrc.rate_idx_mask) - 1; - memcpy(txrc.rate_idx_mcs_mask, -- tx->sdata->rc_rateidx_mcs_mask[tx->channel->band], +- tx->sdata->rc_rateidx_mcs_mask[info->band], - sizeof(txrc.rate_idx_mcs_mask)); + -+ if (tx->sdata->rc_has_mcs_mask[tx->channel->band]) ++ if (tx->sdata->rc_has_mcs_mask[info->band]) + txrc.rate_idx_mcs_mask = -+ tx->sdata->rc_rateidx_mcs_mask[tx->channel->band]; ++ tx->sdata->rc_rateidx_mcs_mask[info->band]; + txrc.bss = (tx->sdata->vif.type == NL80211_IFTYPE_AP || tx->sdata->vif.type == NL80211_IFTYPE_MESH_POINT || tx->sdata->vif.type == NL80211_IFTYPE_ADHOC); -@@ -2464,8 +2466,6 @@ struct sk_buff *ieee80211_beacon_get_tim +@@ -2447,8 +2449,6 @@ struct sk_buff *ieee80211_beacon_get_tim txrc.max_rate_idx = -1; else txrc.max_rate_idx = fls(txrc.rate_idx_mask) - 1; |