diff options
author | Ron Rindjunsky <ron.rindjunsky@intel.com> | 2008-06-11 21:46:58 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-06-14 12:18:06 -0400 |
commit | faa297183897ac6f55c4dd97a0b3aee122aeec46 (patch) | |
tree | 0124944891235a086ff83195fea7246e22c32945 /drivers/net/wireless/iwlwifi | |
parent | 263b5f5aae8a3ec72fd3e5a98031664759e7fd72 (diff) |
iwlwifi: fix allow iwlwifi to aggregate according to tid load
This fix opens back the aggregation decision path for iwlwifi.
Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-4965-rs.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-4965-rs.c b/drivers/net/wireless/iwlwifi/iwl-4965-rs.c index a928741e5573..77884e16a134 100644 --- a/drivers/net/wireless/iwlwifi/iwl-4965-rs.c +++ b/drivers/net/wireless/iwlwifi/iwl-4965-rs.c | |||
@@ -273,8 +273,8 @@ static void rs_tl_rm_old_stats(struct iwl4965_traffic_load *tl, u32 curr_time) | |||
273 | * increment traffic load value for tid and also remove | 273 | * increment traffic load value for tid and also remove |
274 | * any old values if passed the certain time period | 274 | * any old values if passed the certain time period |
275 | */ | 275 | */ |
276 | static void rs_tl_add_packet(struct iwl4965_lq_sta *lq_data, | 276 | static u8 rs_tl_add_packet(struct iwl4965_lq_sta *lq_data, |
277 | struct ieee80211_hdr *hdr) | 277 | struct ieee80211_hdr *hdr) |
278 | { | 278 | { |
279 | u32 curr_time = jiffies_to_msecs(jiffies); | 279 | u32 curr_time = jiffies_to_msecs(jiffies); |
280 | u32 time_diff; | 280 | u32 time_diff; |
@@ -287,7 +287,7 @@ static void rs_tl_add_packet(struct iwl4965_lq_sta *lq_data, | |||
287 | u8 *qc = ieee80211_get_qos_ctrl(hdr, ieee80211_get_hdrlen(fc)); | 287 | u8 *qc = ieee80211_get_qos_ctrl(hdr, ieee80211_get_hdrlen(fc)); |
288 | tid = qc[0] & 0xf; | 288 | tid = qc[0] & 0xf; |
289 | } else | 289 | } else |
290 | return; | 290 | return MAX_TID_COUNT; |
291 | 291 | ||
292 | tl = &lq_data->load[tid]; | 292 | tl = &lq_data->load[tid]; |
293 | 293 | ||
@@ -300,7 +300,7 @@ static void rs_tl_add_packet(struct iwl4965_lq_sta *lq_data, | |||
300 | tl->queue_count = 1; | 300 | tl->queue_count = 1; |
301 | tl->head = 0; | 301 | tl->head = 0; |
302 | tl->packet_count[0] = 1; | 302 | tl->packet_count[0] = 1; |
303 | return; | 303 | return MAX_TID_COUNT; |
304 | } | 304 | } |
305 | 305 | ||
306 | time_diff = TIME_WRAP_AROUND(tl->time_stamp, curr_time); | 306 | time_diff = TIME_WRAP_AROUND(tl->time_stamp, curr_time); |
@@ -317,6 +317,8 @@ static void rs_tl_add_packet(struct iwl4965_lq_sta *lq_data, | |||
317 | 317 | ||
318 | if ((index + 1) > tl->queue_count) | 318 | if ((index + 1) > tl->queue_count) |
319 | tl->queue_count = index + 1; | 319 | tl->queue_count = index + 1; |
320 | |||
321 | return tid; | ||
320 | } | 322 | } |
321 | 323 | ||
322 | /* | 324 | /* |
@@ -1680,7 +1682,8 @@ static void rs_rate_scale_perform(struct iwl_priv *priv, | |||
1680 | } | 1682 | } |
1681 | lq_sta = (struct iwl4965_lq_sta *)sta->rate_ctrl_priv; | 1683 | lq_sta = (struct iwl4965_lq_sta *)sta->rate_ctrl_priv; |
1682 | 1684 | ||
1683 | rs_tl_add_packet(lq_sta, hdr); | 1685 | tid = rs_tl_add_packet(lq_sta, hdr); |
1686 | |||
1684 | /* | 1687 | /* |
1685 | * Select rate-scale / modulation-mode table to work with in | 1688 | * Select rate-scale / modulation-mode table to work with in |
1686 | * the rest of this function: "search" if searching for better | 1689 | * the rest of this function: "search" if searching for better |