Commit 75d3e2d6 authored by Eyal Shapira's avatar Eyal Shapira Committed by Emmanuel Grumbach

iwlwifi: mvm: rs: fix handling of column switch error

If we can't switch to a column because no rates are supported
in that column this led to a state where the search cycle
got stuck and never ended. This in turn also led to aggregation
not being turned on. Fix this by marking a column as
visited if we can't switch to it.
Reported-and-tested-by: default avatarKarl Beldan <karl.beldan@gmail.com>
Signed-off-by: default avatarEyal Shapira <eyal@wizery.com>
Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
parent 91b0d119
...@@ -1591,6 +1591,8 @@ static int rs_switch_to_column(struct iwl_mvm *mvm, ...@@ -1591,6 +1591,8 @@ static int rs_switch_to_column(struct iwl_mvm *mvm,
search_tbl->column = col_id; search_tbl->column = col_id;
rs_set_expected_tpt_table(lq_sta, search_tbl); rs_set_expected_tpt_table(lq_sta, search_tbl);
lq_sta->visited_columns |= BIT(col_id);
/* Get the best matching rate if we're changing modes. e.g. /* Get the best matching rate if we're changing modes. e.g.
* SISO->MIMO, LEGACY->SISO, MIMO->SISO * SISO->MIMO, LEGACY->SISO, MIMO->SISO
*/ */
...@@ -1614,7 +1616,6 @@ static int rs_switch_to_column(struct iwl_mvm *mvm, ...@@ -1614,7 +1616,6 @@ static int rs_switch_to_column(struct iwl_mvm *mvm,
IWL_DEBUG_RATE(mvm, "Switched to column %d: Index %d\n", IWL_DEBUG_RATE(mvm, "Switched to column %d: Index %d\n",
col_id, rate->index); col_id, rate->index);
lq_sta->visited_columns |= BIT(col_id);
return 0; return 0;
err: err:
......
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