From 7ca75a2d01a10711e58a92ae4ed747e23c030814 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Tue, 26 Jan 2021 19:25:10 +0100 Subject: [PATCH] mac80211: fix an uninitialized variable warning Signed-off-by: Felix Fietkau --- ...l_ht-use-bitfields-to-encode-rate-in.patch | 39 ++++++++++--------- ...l_ht-update-total-packets-counter-in.patch | 6 +-- ...l_ht-reduce-the-need-to-sample-slowe.patch | 10 ++--- ...l_ht-significantly-redesign-the-rate.patch | 24 ++++++------ ...l_ht-remove-sample-rate-switching-co.patch | 20 +++++----- 5 files changed, 51 insertions(+), 48 deletions(-) diff --git a/package/kernel/mac80211/patches/subsys/346-mac80211-minstrel_ht-use-bitfields-to-encode-rate-in.patch b/package/kernel/mac80211/patches/subsys/346-mac80211-minstrel_ht-use-bitfields-to-encode-rate-in.patch index a17725d69b..6aa6f0ed93 100644 --- a/package/kernel/mac80211/patches/subsys/346-mac80211-minstrel_ht-use-bitfields-to-encode-rate-in.patch +++ b/package/kernel/mac80211/patches/subsys/346-mac80211-minstrel_ht-use-bitfields-to-encode-rate-in.patch @@ -172,11 +172,12 @@ Signed-off-by: Felix Fietkau for (i = 0; supported; supported >>= 1, i++) { if (!(supported & 1)) continue; -@@ -856,22 +856,26 @@ minstrel_ht_update_stats(struct minstrel +@@ -854,24 +854,27 @@ minstrel_ht_update_stats(struct minstrel + mi->sample_slow = 0; + mi->sample_count = 0; - memset(tmp_mcs_tp_rate, 0, sizeof(tmp_mcs_tp_rate)); - memset(tmp_legacy_tp_rate, 0, sizeof(tmp_legacy_tp_rate)); -+ +- memset(tmp_mcs_tp_rate, 0, sizeof(tmp_mcs_tp_rate)); +- memset(tmp_legacy_tp_rate, 0, sizeof(tmp_legacy_tp_rate)); if (mi->supported[MINSTREL_CCK_GROUP]) - for (j = 0; j < ARRAY_SIZE(tmp_legacy_tp_rate); j++) - tmp_legacy_tp_rate[j] = MINSTREL_CCK_GROUP * MCS_GROUP_RATES; @@ -185,6 +186,8 @@ Signed-off-by: Felix Fietkau - for (j = 0; j < ARRAY_SIZE(tmp_legacy_tp_rate); j++) - tmp_legacy_tp_rate[j] = MINSTREL_OFDM_GROUP * MCS_GROUP_RATES; + group = MINSTREL_OFDM_GROUP; ++ else ++ group = 0; + + index = MI_RATE(group, 0); + for (j = 0; j < ARRAY_SIZE(tmp_legacy_tp_rate); j++) @@ -207,7 +210,7 @@ Signed-off-by: Felix Fietkau tmp_max_prob_rate = index; for (j = 0; j < ARRAY_SIZE(tmp_mcs_tp_rate); j++) tmp_mcs_tp_rate[j] = index; -@@ -888,7 +892,7 @@ minstrel_ht_update_stats(struct minstrel +@@ -888,7 +891,7 @@ minstrel_ht_update_stats(struct minstrel /* (re)Initialize group rate indexes */ for(j = 0; j < MAX_THR_RATES; j++) @@ -216,7 +219,7 @@ Signed-off-by: Felix Fietkau if (group == MINSTREL_CCK_GROUP && ht_supported) tp_rate = tmp_legacy_tp_rate; -@@ -897,7 +901,7 @@ minstrel_ht_update_stats(struct minstrel +@@ -897,7 +900,7 @@ minstrel_ht_update_stats(struct minstrel if (!(mi->supported[group] & BIT(i))) continue; @@ -225,7 +228,7 @@ Signed-off-by: Felix Fietkau mrs = &mg->rates[i]; mrs->retry_updated = false; -@@ -929,13 +933,13 @@ minstrel_ht_update_stats(struct minstrel +@@ -929,13 +932,13 @@ minstrel_ht_update_stats(struct minstrel continue; mg = &mi->groups[group]; @@ -241,7 +244,7 @@ Signed-off-by: Felix Fietkau /* Find max probability rate per group and global */ minstrel_ht_set_best_prob_rate(mi, &tmp_max_prob_rate, -@@ -1022,7 +1026,7 @@ minstrel_downgrade_rate(struct minstrel_ +@@ -1022,7 +1025,7 @@ minstrel_downgrade_rate(struct minstrel_ { int group, orig_group; @@ -250,7 +253,7 @@ Signed-off-by: Felix Fietkau while (group > 0) { group--; -@@ -1206,7 +1210,7 @@ minstrel_calc_retransmit(struct minstrel +@@ -1206,7 +1209,7 @@ minstrel_calc_retransmit(struct minstrel ctime += (t_slot * cw) >> 1; cw = min((cw << 1) | 1, mp->cw_max); @@ -259,7 +262,7 @@ Signed-off-by: Felix Fietkau overhead = mi->overhead_legacy; overhead_rtscts = mi->overhead_legacy_rtscts; } else { -@@ -1239,7 +1243,7 @@ static void +@@ -1239,7 +1242,7 @@ static void minstrel_ht_set_rate(struct minstrel_priv *mp, struct minstrel_ht_sta *mi, struct ieee80211_sta_rates *ratetbl, int offset, int index) { @@ -268,7 +271,7 @@ Signed-off-by: Felix Fietkau const struct mcs_group *group = &minstrel_mcs_groups[group_idx]; struct minstrel_rate_stats *mrs; u8 idx; -@@ -1259,7 +1263,7 @@ minstrel_ht_set_rate(struct minstrel_pri +@@ -1259,7 +1262,7 @@ minstrel_ht_set_rate(struct minstrel_pri ratetbl->rate[offset].count_rts = mrs->retry_count_rtscts; } @@ -277,7 +280,7 @@ Signed-off-by: Felix Fietkau if (group_idx == MINSTREL_CCK_GROUP) idx = mp->cck_rates[index % ARRAY_SIZE(mp->cck_rates)]; else if (group_idx == MINSTREL_OFDM_GROUP) -@@ -1289,17 +1293,17 @@ minstrel_ht_set_rate(struct minstrel_pri +@@ -1289,17 +1292,17 @@ minstrel_ht_set_rate(struct minstrel_pri static inline int minstrel_ht_get_prob_avg(struct minstrel_ht_sta *mi, int rate) { @@ -299,7 +302,7 @@ Signed-off-by: Felix Fietkau unsigned int duration; /* Disable A-MSDU if max_prob_rate is bad */ -@@ -1405,7 +1409,7 @@ minstrel_get_sample_rate(struct minstrel +@@ -1405,7 +1408,7 @@ minstrel_get_sample_rate(struct minstrel return -1; mrs = &mg->rates[sample_idx]; @@ -308,7 +311,7 @@ Signed-off-by: Felix Fietkau tp_rate1 = mi->max_tp_rate[0]; -@@ -1455,8 +1459,7 @@ minstrel_get_sample_rate(struct minstrel +@@ -1455,8 +1458,7 @@ minstrel_get_sample_rate(struct minstrel * if the link is working perfectly. */ @@ -318,7 +321,7 @@ Signed-off-by: Felix Fietkau if (sample_dur >= minstrel_get_duration(tp_rate2) && (cur_max_tp_streams - 1 < minstrel_mcs_groups[sample_group].streams || -@@ -1484,7 +1487,7 @@ minstrel_ht_get_rate(void *priv, struct +@@ -1484,7 +1486,7 @@ minstrel_ht_get_rate(void *priv, struct int sample_idx; if (!(info->flags & IEEE80211_TX_CTL_AMPDU) && @@ -327,7 +330,7 @@ Signed-off-by: Felix Fietkau minstrel_aggr_check(sta, txrc->skb); info->flags |= mi->tx_flags; -@@ -1512,8 +1515,8 @@ minstrel_ht_get_rate(void *priv, struct +@@ -1512,8 +1514,8 @@ minstrel_ht_get_rate(void *priv, struct if (sample_idx < 0) return; @@ -338,7 +341,7 @@ Signed-off-by: Felix Fietkau if (sample_group == &minstrel_mcs_groups[MINSTREL_CCK_GROUP] && (sample_idx >= 4) != txrc->short_preamble) -@@ -1529,7 +1532,7 @@ minstrel_ht_get_rate(void *priv, struct +@@ -1529,7 +1531,7 @@ minstrel_ht_get_rate(void *priv, struct int idx = sample_idx % ARRAY_SIZE(mp->ofdm_rates[0]); rate->idx = mp->ofdm_rates[mi->band][idx]; } else if (sample_group->flags & IEEE80211_TX_RC_VHT_MCS) { @@ -347,7 +350,7 @@ Signed-off-by: Felix Fietkau sample_group->streams); } else { rate->idx = sample_idx + (sample_group->streams - 1) * 8; -@@ -1898,8 +1901,8 @@ static u32 minstrel_ht_get_expected_thro +@@ -1898,8 +1900,8 @@ static u32 minstrel_ht_get_expected_thro struct minstrel_ht_sta *mi = priv_sta; int i, j, prob, tp_avg; diff --git a/package/kernel/mac80211/patches/subsys/347-mac80211-minstrel_ht-update-total-packets-counter-in.patch b/package/kernel/mac80211/patches/subsys/347-mac80211-minstrel_ht-update-total-packets-counter-in.patch index a1cdf99e05..dce8104934 100644 --- a/package/kernel/mac80211/patches/subsys/347-mac80211-minstrel_ht-update-total-packets-counter-in.patch +++ b/package/kernel/mac80211/patches/subsys/347-mac80211-minstrel_ht-update-total-packets-counter-in.patch @@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau --- a/net/mac80211/rc80211_minstrel_ht.c +++ b/net/mac80211/rc80211_minstrel_ht.c -@@ -1093,6 +1093,16 @@ minstrel_ht_tx_status(void *priv, struct +@@ -1092,6 +1092,16 @@ minstrel_ht_tx_status(void *priv, struct info->status.ampdu_len = 1; } @@ -27,7 +27,7 @@ Signed-off-by: Felix Fietkau mi->ampdu_packets++; mi->ampdu_len += info->status.ampdu_len; -@@ -1104,9 +1114,6 @@ minstrel_ht_tx_status(void *priv, struct +@@ -1103,9 +1113,6 @@ minstrel_ht_tx_status(void *priv, struct mi->sample_count--; } @@ -37,7 +37,7 @@ Signed-off-by: Felix Fietkau if (mi->sample_mode != MINSTREL_SAMPLE_IDLE) rate_sample = minstrel_get_ratestats(mi, mi->sample_rate); -@@ -1504,14 +1511,6 @@ minstrel_ht_get_rate(void *priv, struct +@@ -1503,14 +1510,6 @@ minstrel_ht_get_rate(void *priv, struct else sample_idx = minstrel_get_sample_rate(mp, mi); diff --git a/package/kernel/mac80211/patches/subsys/348-mac80211-minstrel_ht-reduce-the-need-to-sample-slowe.patch b/package/kernel/mac80211/patches/subsys/348-mac80211-minstrel_ht-reduce-the-need-to-sample-slowe.patch index 4b0ba3dbe5..dc6f11e4b9 100644 --- a/package/kernel/mac80211/patches/subsys/348-mac80211-minstrel_ht-reduce-the-need-to-sample-slowe.patch +++ b/package/kernel/mac80211/patches/subsys/348-mac80211-minstrel_ht-reduce-the-need-to-sample-slowe.patch @@ -37,8 +37,8 @@ Signed-off-by: Felix Fietkau - mi->sample_slow = 0; mi->sample_count = 0; - memset(tmp_mcs_tp_rate, 0, sizeof(tmp_mcs_tp_rate)); -@@ -883,6 +879,7 @@ minstrel_ht_update_stats(struct minstrel + if (mi->supported[MINSTREL_CCK_GROUP]) +@@ -882,6 +878,7 @@ minstrel_ht_update_stats(struct minstrel /* Find best rate sets within all MCS groups*/ for (group = 0; group < ARRAY_SIZE(minstrel_mcs_groups); group++) { u16 *tp_rate = tmp_mcs_tp_rate; @@ -46,7 +46,7 @@ Signed-off-by: Felix Fietkau mg = &mi->groups[group]; if (!mi->supported[group]) -@@ -897,7 +894,7 @@ minstrel_ht_update_stats(struct minstrel +@@ -896,7 +893,7 @@ minstrel_ht_update_stats(struct minstrel if (group == MINSTREL_CCK_GROUP && ht_supported) tp_rate = tmp_legacy_tp_rate; @@ -55,7 +55,7 @@ Signed-off-by: Felix Fietkau if (!(mi->supported[group] & BIT(i))) continue; -@@ -906,6 +903,11 @@ minstrel_ht_update_stats(struct minstrel +@@ -905,6 +902,11 @@ minstrel_ht_update_stats(struct minstrel mrs = &mg->rates[i]; mrs->retry_updated = false; minstrel_ht_calc_rate_stats(mp, mrs); @@ -67,7 +67,7 @@ Signed-off-by: Felix Fietkau cur_prob = mrs->prob_avg; if (minstrel_ht_get_tp_avg(mi, group, i, cur_prob) == 0) -@@ -1470,13 +1472,9 @@ minstrel_get_sample_rate(struct minstrel +@@ -1469,13 +1471,9 @@ minstrel_get_sample_rate(struct minstrel if (sample_dur >= minstrel_get_duration(tp_rate2) && (cur_max_tp_streams - 1 < minstrel_mcs_groups[sample_group].streams || diff --git a/package/kernel/mac80211/patches/subsys/349-mac80211-minstrel_ht-significantly-redesign-the-rate.patch b/package/kernel/mac80211/patches/subsys/349-mac80211-minstrel_ht-significantly-redesign-the-rate.patch index 6626804eb8..7af13661a8 100644 --- a/package/kernel/mac80211/patches/subsys/349-mac80211-minstrel_ht-significantly-redesign-the-rate.patch +++ b/package/kernel/mac80211/patches/subsys/349-mac80211-minstrel_ht-significantly-redesign-the-rate.patch @@ -474,10 +474,10 @@ Signed-off-by: Felix Fietkau - mi->sample_count = 0; - - memset(tmp_mcs_tp_rate, 0, sizeof(tmp_mcs_tp_rate)); - memset(tmp_legacy_tp_rate, 0, sizeof(tmp_legacy_tp_rate)); - -@@ -885,8 +1081,6 @@ minstrel_ht_update_stats(struct minstrel + if (mi->supported[MINSTREL_CCK_GROUP]) + group = MINSTREL_CCK_GROUP; + else if (mi->supported[MINSTREL_OFDM_GROUP]) +@@ -884,8 +1080,6 @@ minstrel_ht_update_stats(struct minstrel if (!mi->supported[group]) continue; @@ -486,7 +486,7 @@ Signed-off-by: Felix Fietkau /* (re)Initialize group rate indexes */ for(j = 0; j < MAX_THR_RATES; j++) tmp_group_tp_rate[j] = MI_RATE(group, 0); -@@ -953,9 +1147,7 @@ minstrel_ht_update_stats(struct minstrel +@@ -952,9 +1146,7 @@ minstrel_ht_update_stats(struct minstrel /* Try to increase robustness of max_prob_rate*/ minstrel_ht_prob_rate_reduce_streams(mi); @@ -497,7 +497,7 @@ Signed-off-by: Felix Fietkau if (sample) minstrel_ht_rate_sample_switch(mp, mi); -@@ -972,6 +1164,7 @@ minstrel_ht_update_stats(struct minstrel +@@ -971,6 +1163,7 @@ minstrel_ht_update_stats(struct minstrel /* Reset update timer */ mi->last_stats_update = jiffies; @@ -505,7 +505,7 @@ Signed-off-by: Felix Fietkau } static bool -@@ -1002,28 +1195,6 @@ minstrel_ht_txstat_valid(struct minstrel +@@ -1001,28 +1194,6 @@ minstrel_ht_txstat_valid(struct minstrel } static void @@ -534,7 +534,7 @@ Signed-off-by: Felix Fietkau minstrel_downgrade_rate(struct minstrel_ht_sta *mi, u16 *idx, bool primary) { int group, orig_group; -@@ -1108,14 +1279,6 @@ minstrel_ht_tx_status(void *priv, struct +@@ -1107,14 +1278,6 @@ minstrel_ht_tx_status(void *priv, struct mi->ampdu_packets++; mi->ampdu_len += info->status.ampdu_len; @@ -549,7 +549,7 @@ Signed-off-by: Felix Fietkau if (mi->sample_mode != MINSTREL_SAMPLE_IDLE) rate_sample = minstrel_get_ratestats(mi, mi->sample_rate); -@@ -1387,97 +1550,20 @@ minstrel_ht_update_rates(struct minstrel +@@ -1386,97 +1549,20 @@ minstrel_ht_update_rates(struct minstrel rate_control_set_rates(mp->hw, mi->sta, rates); } @@ -656,7 +656,7 @@ Signed-off-by: Felix Fietkau } static void -@@ -1489,7 +1575,7 @@ minstrel_ht_get_rate(void *priv, struct +@@ -1488,7 +1574,7 @@ minstrel_ht_get_rate(void *priv, struct struct ieee80211_tx_rate *rate = &info->status.rates[0]; struct minstrel_ht_sta *mi = priv_sta; struct minstrel_priv *mp = priv; @@ -665,7 +665,7 @@ Signed-off-by: Felix Fietkau if (!(info->flags & IEEE80211_TX_CTL_AMPDU) && !minstrel_ht_is_legacy_group(MI_RATE_GROUP(mi->max_prob_rate))) -@@ -1505,11 +1591,19 @@ minstrel_ht_get_rate(void *priv, struct +@@ -1504,11 +1590,19 @@ minstrel_ht_get_rate(void *priv, struct /* Don't use EAPOL frames for sampling on non-mrr hw */ if (mp->hw->max_rates == 1 && (info->control.flags & IEEE80211_TX_CTRL_PORT_CTRL_PROTO)) @@ -689,7 +689,7 @@ Signed-off-by: Felix Fietkau return; sample_group = &minstrel_mcs_groups[MI_RATE_GROUP(sample_idx)]; -@@ -1630,16 +1724,6 @@ minstrel_ht_update_caps(void *priv, stru +@@ -1629,16 +1723,6 @@ minstrel_ht_update_caps(void *priv, stru mi->avg_ampdu_len = MINSTREL_FRAC(1, 1); diff --git a/package/kernel/mac80211/patches/subsys/351-mac80211-minstrel_ht-remove-sample-rate-switching-co.patch b/package/kernel/mac80211/patches/subsys/351-mac80211-minstrel_ht-remove-sample-rate-switching-co.patch index 64bd59b852..8170ff85f8 100644 --- a/package/kernel/mac80211/patches/subsys/351-mac80211-minstrel_ht-remove-sample-rate-switching-co.patch +++ b/package/kernel/mac80211/patches/subsys/351-mac80211-minstrel_ht-remove-sample-rate-switching-co.patch @@ -70,7 +70,7 @@ Signed-off-by: Felix Fietkau if (mi->ampdu_packets > 0) { if (!ieee80211_hw_check(mp->hw, TX_STATUS_NO_AMPDU_LEN)) mi->avg_ampdu_len = minstrel_ewma(mi->avg_ampdu_len, -@@ -1149,16 +1115,12 @@ minstrel_ht_update_stats(struct minstrel +@@ -1148,16 +1114,12 @@ minstrel_ht_update_stats(struct minstrel minstrel_ht_prob_rate_reduce_streams(mi); minstrel_ht_refill_sample_rates(mi); @@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau } #endif -@@ -1248,11 +1210,10 @@ minstrel_ht_tx_status(void *priv, struct +@@ -1247,11 +1209,10 @@ minstrel_ht_tx_status(void *priv, struct struct ieee80211_tx_info *info = st->info; struct minstrel_ht_sta *mi = priv_sta; struct ieee80211_tx_rate *ar = info->status.rates; @@ -100,7 +100,7 @@ Signed-off-by: Felix Fietkau int i; /* This packet was aggregated but doesn't carry status info */ -@@ -1279,49 +1240,18 @@ minstrel_ht_tx_status(void *priv, struct +@@ -1278,49 +1239,18 @@ minstrel_ht_tx_status(void *priv, struct mi->ampdu_packets++; mi->ampdu_len += info->status.ampdu_len; @@ -150,7 +150,7 @@ Signed-off-by: Felix Fietkau if (mp->hw->max_rates > 1) { /* * check for sudden death of spatial multiplexing, -@@ -1344,7 +1274,7 @@ minstrel_ht_tx_status(void *priv, struct +@@ -1343,7 +1273,7 @@ minstrel_ht_tx_status(void *priv, struct if (time_after(jiffies, mi->last_stats_update + update_interval)) { update = true; @@ -159,7 +159,7 @@ Signed-off-by: Felix Fietkau } if (update) -@@ -1523,18 +1453,14 @@ static void +@@ -1522,18 +1452,14 @@ static void minstrel_ht_update_rates(struct minstrel_priv *mp, struct minstrel_ht_sta *mi) { struct ieee80211_sta_rates *rates; @@ -179,7 +179,7 @@ Signed-off-by: Felix Fietkau if (mp->hw->max_rates >= 3) { /* At least 3 tx rates supported, use max_tp_rate[1] next */ -@@ -1593,11 +1519,6 @@ minstrel_ht_get_rate(void *priv, struct +@@ -1592,11 +1518,6 @@ minstrel_ht_get_rate(void *priv, struct (info->control.flags & IEEE80211_TX_CTRL_PORT_CTRL_PROTO)) return; @@ -191,7 +191,7 @@ Signed-off-by: Felix Fietkau if (time_is_before_jiffies(mi->sample_time)) return; -@@ -1811,7 +1732,7 @@ minstrel_ht_update_caps(void *priv, stru +@@ -1810,7 +1731,7 @@ minstrel_ht_update_caps(void *priv, stru minstrel_ht_update_ofdm(mp, mi, sband, sta); /* create an initial rate table with the lowest supported rates */ @@ -200,7 +200,7 @@ Signed-off-by: Felix Fietkau minstrel_ht_update_rates(mp, mi); } -@@ -1927,8 +1848,6 @@ minstrel_ht_alloc(struct ieee80211_hw *h +@@ -1926,8 +1847,6 @@ minstrel_ht_alloc(struct ieee80211_hw *h if (!mp) return NULL; @@ -209,7 +209,7 @@ Signed-off-by: Felix Fietkau /* contention window settings * Just an approximation. Using the per-queue values would complicate * the calculations and is probably unnecessary */ -@@ -1948,7 +1867,7 @@ minstrel_ht_alloc(struct ieee80211_hw *h +@@ -1947,7 +1866,7 @@ minstrel_ht_alloc(struct ieee80211_hw *h mp->has_mrr = true; mp->hw = hw; @@ -218,7 +218,7 @@ Signed-off-by: Felix Fietkau minstrel_ht_init_cck_rates(mp); for (i = 0; i < ARRAY_SIZE(mp->hw->wiphy->bands); i++) -@@ -1966,8 +1885,6 @@ static void minstrel_ht_add_debugfs(stru +@@ -1965,8 +1884,6 @@ static void minstrel_ht_add_debugfs(stru mp->fixed_rate_idx = (u32) -1; debugfs_create_u32("fixed_rate_idx", S_IRUGO | S_IWUGO, debugfsdir, &mp->fixed_rate_idx); -- 2.30.2