提交 82ca9341 编写于 作者: W Wey-Yi Guy 提交者: Reinette Chatre

iwlwifi: sanity check for turn on aggregation tid

Perform sanity check for turn on aggregation tid. Also remove the
option for turn on all the aggregation tids at once since it is
deprecated function and not being used.
Signed-off-by: NWey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: NReinette Chatre <reinette.chatre@intel.com>
上级 33e6f816
...@@ -294,11 +294,11 @@ static u32 rs_tl_get_load(struct iwl_lq_sta *lq_data, u8 tid) ...@@ -294,11 +294,11 @@ static u32 rs_tl_get_load(struct iwl_lq_sta *lq_data, u8 tid)
return tl->total; return tl->total;
} }
static void rs_tl_turn_on_agg_for_tid(struct iwl_priv *priv, static int rs_tl_turn_on_agg_for_tid(struct iwl_priv *priv,
struct iwl_lq_sta *lq_data, u8 tid, struct iwl_lq_sta *lq_data, u8 tid,
struct ieee80211_sta *sta) struct ieee80211_sta *sta)
{ {
int ret; int ret = -EAGAIN;
if (rs_tl_get_load(lq_data, tid) > IWL_AGG_LOAD_THRESHOLD) { if (rs_tl_get_load(lq_data, tid) > 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",
...@@ -312,29 +312,29 @@ static void rs_tl_turn_on_agg_for_tid(struct iwl_priv *priv, ...@@ -312,29 +312,29 @@ static void rs_tl_turn_on_agg_for_tid(struct iwl_priv *priv,
*/ */
IWL_DEBUG_HT(priv, "Fail start Tx agg on tid: %d\n", IWL_DEBUG_HT(priv, "Fail start Tx agg on tid: %d\n",
tid); tid);
ret = ieee80211_stop_tx_ba_session(sta, tid, ieee80211_stop_tx_ba_session(sta, tid,
WLAN_BACK_INITIATOR); WLAN_BACK_INITIATOR);
} }
} } else
IWL_ERR(priv, "Fail finding valid aggregation tid: %d\n", tid);
return ret;
} }
static void rs_tl_turn_on_agg(struct iwl_priv *priv, u8 tid, static void rs_tl_turn_on_agg(struct iwl_priv *priv, u8 tid,
struct iwl_lq_sta *lq_data, struct iwl_lq_sta *lq_data,
struct ieee80211_sta *sta) struct ieee80211_sta *sta)
{ {
if ((tid < TID_MAX_LOAD_COUNT)) if ((tid < TID_MAX_LOAD_COUNT) &&
rs_tl_turn_on_agg_for_tid(priv, lq_data, tid, sta); !rs_tl_turn_on_agg_for_tid(priv, lq_data, tid, sta)) {
else if (tid == IWL_AGG_ALL_TID) if (priv->cfg->use_rts_for_ht) {
for (tid = 0; tid < TID_MAX_LOAD_COUNT; tid++) /*
rs_tl_turn_on_agg_for_tid(priv, lq_data, tid, sta); * switch to RTS/CTS if it is the prefer protection
if (priv->cfg->use_rts_for_ht) { * method for HT traffic
/* */
* switch to RTS/CTS if it is the prefer protection method IWL_DEBUG_HT(priv, "use RTS/CTS protection for HT\n");
* for HT traffic priv->staging_rxon.flags &= ~RXON_FLG_SELF_CTS_EN;
*/ iwlcore_commit_rxon(priv);
IWL_DEBUG_HT(priv, "use RTS/CTS protection for HT\n"); }
priv->staging_rxon.flags &= ~RXON_FLG_SELF_CTS_EN;
iwlcore_commit_rxon(priv);
} }
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册