Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit faa29718 authored by Ron Rindjunsky's avatar Ron Rindjunsky Committed by John W. Linville
Browse files

iwlwifi: fix allow iwlwifi to aggregate according to tid load



This fix opens back the aggregation decision path for iwlwifi.

Signed-off-by: default avatarRon Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: default avatarTomas Winkler <tomas.winkler@intel.com>
Signed-off-by: default avatarZhu Yi <yi.zhu@intel.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 263b5f5a
Loading
Loading
Loading
Loading
+8 −5
Original line number Original line Diff line number Diff line
@@ -273,7 +273,7 @@ static void rs_tl_rm_old_stats(struct iwl4965_traffic_load *tl, u32 curr_time)
 *	increment traffic load value for tid and also remove
 *	increment traffic load value for tid and also remove
 *	any old values if passed the certain time period
 *	any old values if passed the certain time period
 */
 */
static void rs_tl_add_packet(struct iwl4965_lq_sta *lq_data,
static u8 rs_tl_add_packet(struct iwl4965_lq_sta *lq_data,
			   struct ieee80211_hdr *hdr)
			   struct ieee80211_hdr *hdr)
{
{
	u32 curr_time = jiffies_to_msecs(jiffies);
	u32 curr_time = jiffies_to_msecs(jiffies);
@@ -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));
		u8 *qc = ieee80211_get_qos_ctrl(hdr, ieee80211_get_hdrlen(fc));
		tid = qc[0] & 0xf;
		tid = qc[0] & 0xf;
	} else
	} else
		return;
		return MAX_TID_COUNT;


	tl = &lq_data->load[tid];
	tl = &lq_data->load[tid];


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


	time_diff = TIME_WRAP_AROUND(tl->time_stamp, curr_time);
	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,


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

	return tid;
}
}


/*
/*
@@ -1680,7 +1682,8 @@ static void rs_rate_scale_perform(struct iwl_priv *priv,
	}
	}
	lq_sta = (struct iwl4965_lq_sta *)sta->rate_ctrl_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
	 * Select rate-scale / modulation-mode table to work with in
	 * the rest of this function:  "search" if searching for better
	 * the rest of this function:  "search" if searching for better