Commit dd5b6d0a authored by Wey-Yi Guy's avatar Wey-Yi Guy Committed by John W. Linville

iwlagn: enable 11n aggregation without checking traffic load

Enable HT aggregation when it reach reasonable traffic without
checking traffic load which delay enabling the aggregation and lower
the throughput

but this behavior can be overwrite by module parameter

this address
https://bugzilla.kernel.org/show_bug.cgi?id=40042Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 7ff94706
...@@ -612,6 +612,7 @@ struct iwl_mod_params iwlagn_mod_params = { ...@@ -612,6 +612,7 @@ struct iwl_mod_params iwlagn_mod_params = {
.power_level = IWL_POWER_INDEX_1, .power_level = IWL_POWER_INDEX_1,
.bt_ch_announce = 1, .bt_ch_announce = 1,
.wanted_ucode_alternative = 1, .wanted_ucode_alternative = 1,
.auto_agg = true,
/* the rest are 0 by default */ /* the rest are 0 by default */
}; };
......
...@@ -420,7 +420,7 @@ static int rs_tl_turn_on_agg_for_tid(struct iwl_priv *priv, ...@@ -420,7 +420,7 @@ static int rs_tl_turn_on_agg_for_tid(struct iwl_priv *priv,
load = rs_tl_get_load(lq_data, tid); load = rs_tl_get_load(lq_data, tid);
if (load > IWL_AGG_LOAD_THRESHOLD) { if ((iwlagn_mod_params.auto_agg) || (load > IWL_AGG_LOAD_THRESHOLD)) {
IWL_DEBUG_HT(priv, "Starting Tx agg: STA: %pM tid: %d\n", IWL_DEBUG_HT(priv, "Starting Tx agg: STA: %pM tid: %d\n",
sta->addr, tid); sta->addr, tid);
ret = ieee80211_start_tx_ba_session(sta, tid, 5000); ret = ieee80211_start_tx_ba_session(sta, tid, 5000);
......
...@@ -3588,6 +3588,11 @@ module_param_named(power_level, iwlagn_mod_params.power_level, ...@@ -3588,6 +3588,11 @@ module_param_named(power_level, iwlagn_mod_params.power_level,
MODULE_PARM_DESC(power_level, MODULE_PARM_DESC(power_level,
"default power save level (range from 1 - 5, default: 1)"); "default power save level (range from 1 - 5, default: 1)");
module_param_named(auto_agg, iwlagn_mod_params.auto_agg,
bool, S_IRUGO);
MODULE_PARM_DESC(auto_agg,
"enable agg w/o check traffic load (default: enable)");
/* /*
* For now, keep using power level 1 instead of automatically * For now, keep using power level 1 instead of automatically
* adjusting ... * adjusting ...
......
...@@ -93,6 +93,7 @@ struct iwl_mod_params { ...@@ -93,6 +93,7 @@ struct iwl_mod_params {
int ant_coupling; int ant_coupling;
bool bt_ch_announce; bool bt_ch_announce;
int wanted_ucode_alternative; int wanted_ucode_alternative;
bool auto_agg; /* def: true = enable agg. without check */
}; };
/** /**
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment