diff options
author | Eyal Shapira <eyal@wizery.com> | 2014-09-14 15:58:53 +0300 |
---|---|---|
committer | Emmanuel Grumbach <emmanuel.grumbach@intel.com> | 2014-09-21 13:25:49 +0300 |
commit | efed66407d465549e0457b2c1f5419503edfb79b (patch) | |
tree | edc8df865cb43876428efc8bd827c5f35526a928 /drivers/net/wireless/iwlwifi/mvm/rs.c | |
parent | a7130442b03e095f3a86efac799fbf0374a5adb9 (diff) |
iwlwifi: mvm: rs: fix logic in case of multiple TIDs
In case of traffic on multiple TIDs where one is aggregated
and the other is not RS would toggle between considering
traffic vs. the station as aggregated and not aggregated.
Instead consider the sta state as aggregated as long as
there's at least one TID aggregated.
This limitation is because the rates table is kept per
station and not per TID.
Signed-off-by: Eyal Shapira <eyalx.shapira@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/mvm/rs.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/mvm/rs.c | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/drivers/net/wireless/iwlwifi/mvm/rs.c b/drivers/net/wireless/iwlwifi/mvm/rs.c index 1865ba68b6e5..18a539999580 100644 --- a/drivers/net/wireless/iwlwifi/mvm/rs.c +++ b/drivers/net/wireless/iwlwifi/mvm/rs.c @@ -1980,16 +1980,7 @@ static void rs_rate_scale_perform(struct iwl_mvm *mvm, struct iwl_mvm_tid_data *tid_data; struct rs_rate *rate; - if ((tid != IWL_MAX_TID_COUNT) && - (lq_sta->tx_agg_tid_en & (1 << tid))) { - tid_data = &sta_priv->tid_data[tid]; - if (tid_data->state == IWL_AGG_OFF) - lq_sta->is_agg = 0; - else - lq_sta->is_agg = 1; - } else { - lq_sta->is_agg = 0; - } + lq_sta->is_agg = !!sta_priv->agg_tids; /* * Select rate-scale / modulation-mode table to work with in |