Skip to content

Commit

Permalink
iwlwifi: fix allow iwlwifi to aggregate according to tid load
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Ron Rindjunsky authored and John W. Linville committed Jun 14, 2008
1 parent 263b5f5 commit faa2971
Showing 1 changed file with 8 additions and 5 deletions.
13 changes: 8 additions & 5 deletions drivers/net/wireless/iwlwifi/iwl-4965-rs.c
Original file line number Diff line number Diff line change
Expand Up @@ -273,8 +273,8 @@ static void rs_tl_rm_old_stats(struct iwl4965_traffic_load *tl, u32 curr_time)
* increment traffic load value for tid and also remove
* any old values if passed the certain time period
*/
static void rs_tl_add_packet(struct iwl4965_lq_sta *lq_data,
struct ieee80211_hdr *hdr)
static u8 rs_tl_add_packet(struct iwl4965_lq_sta *lq_data,
struct ieee80211_hdr *hdr)
{
u32 curr_time = jiffies_to_msecs(jiffies);
u32 time_diff;
Expand All @@ -287,7 +287,7 @@ static void rs_tl_add_packet(struct iwl4965_lq_sta *lq_data,
u8 *qc = ieee80211_get_qos_ctrl(hdr, ieee80211_get_hdrlen(fc));
tid = qc[0] & 0xf;
} else
return;
return MAX_TID_COUNT;

tl = &lq_data->load[tid];

Expand All @@ -300,7 +300,7 @@ static void rs_tl_add_packet(struct iwl4965_lq_sta *lq_data,
tl->queue_count = 1;
tl->head = 0;
tl->packet_count[0] = 1;
return;
return MAX_TID_COUNT;
}

time_diff = TIME_WRAP_AROUND(tl->time_stamp, curr_time);
Expand All @@ -317,6 +317,8 @@ static void rs_tl_add_packet(struct iwl4965_lq_sta *lq_data,

if ((index + 1) > tl->queue_count)
tl->queue_count = index + 1;

return tid;
}

/*
Expand Down Expand Up @@ -1680,7 +1682,8 @@ static void rs_rate_scale_perform(struct iwl_priv *priv,
}
lq_sta = (struct iwl4965_lq_sta *)sta->rate_ctrl_priv;

rs_tl_add_packet(lq_sta, hdr);
tid = rs_tl_add_packet(lq_sta, hdr);

/*
* Select rate-scale / modulation-mode table to work with in
* the rest of this function: "search" if searching for better
Expand Down

0 comments on commit faa2971

Please sign in to comment.