diff options
author | Wey-Yi Guy <wey-yi.w.guy@intel.com> | 2009-03-10 17:35:09 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-03-16 18:09:44 -0400 |
commit | 86b4766b059e071c5e8d680be48cf730355dca5a (patch) | |
tree | 2e1ad5e8fb36c0215c21d605d710a64f2f2c6251 /drivers | |
parent | adb7b5e62ba84b57692ebfa12f4b80d6cf0801a9 (diff) |
iwlwifi: remove un-necessary rs_tl_turn_on_agg() after agg enabled
After the MLME handshaking complete and tx aggregation started for the
tid. Do not send unnecessary turn on aggregation request to mac80211.
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-agn-rs.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-rs.c b/drivers/net/wireless/iwlwifi/iwl-agn-rs.c index 9bcebf2f4607..a6f4c74ff2b4 100644 --- a/drivers/net/wireless/iwlwifi/iwl-agn-rs.c +++ b/drivers/net/wireless/iwlwifi/iwl-agn-rs.c | |||
@@ -1700,6 +1700,7 @@ static void rs_rate_scale_perform(struct iwl_priv *priv, | |||
1700 | u16 high_low; | 1700 | u16 high_low; |
1701 | s32 sr; | 1701 | s32 sr; |
1702 | u8 tid = MAX_TID_COUNT; | 1702 | u8 tid = MAX_TID_COUNT; |
1703 | struct iwl_tid_data *tid_data; | ||
1703 | 1704 | ||
1704 | IWL_DEBUG_RATE(priv, "rate scale calculate new rate for skb\n"); | 1705 | IWL_DEBUG_RATE(priv, "rate scale calculate new rate for skb\n"); |
1705 | 1706 | ||
@@ -2035,8 +2036,15 @@ lq_update: | |||
2035 | if ((lq_sta->last_tpt > IWL_AGG_TPT_THREHOLD) && | 2036 | if ((lq_sta->last_tpt > IWL_AGG_TPT_THREHOLD) && |
2036 | (lq_sta->tx_agg_tid_en & (1 << tid)) && | 2037 | (lq_sta->tx_agg_tid_en & (1 << tid)) && |
2037 | (tid != MAX_TID_COUNT)) { | 2038 | (tid != MAX_TID_COUNT)) { |
2038 | IWL_DEBUG_RATE(priv, "try to aggregate tid %d\n", tid); | 2039 | tid_data = |
2039 | rs_tl_turn_on_agg(priv, tid, lq_sta, sta); | 2040 | &priv->stations[lq_sta->lq.sta_id].tid[tid]; |
2041 | if (tid_data->agg.state == IWL_AGG_OFF) { | ||
2042 | IWL_DEBUG_RATE(priv, | ||
2043 | "try to aggregate tid %d\n", | ||
2044 | tid); | ||
2045 | rs_tl_turn_on_agg(priv, tid, | ||
2046 | lq_sta, sta); | ||
2047 | } | ||
2040 | } | 2048 | } |
2041 | lq_sta->action_counter = 0; | 2049 | lq_sta->action_counter = 0; |
2042 | rs_set_stay_in_table(priv, 0, lq_sta); | 2050 | rs_set_stay_in_table(priv, 0, lq_sta); |