Skip to content

Commit

Permalink
iwl4965: fix cannot find a suitable rate issue
Browse files Browse the repository at this point in the history
This patch fixes the iwl4965 problem for "Can not find a suitable rate
issues." by making rs_switch_to_mimo and rs_switch_to_siso functions
return -1 when CONFIG_IWL4965_HT is not selected. They used to return 0,
which means we can switch to HT rate causing the rate scale problem and
the error message.

The patch also fix another bug reported by Ben Cahill that it uses wrong
value for max_success_limit.

Signed-off-by: Mohamed Abbas <mabbas@linux.intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
  • Loading branch information
Mohamed Abbas authored and David S. Miller committed Jan 28, 2008
1 parent 3567c11 commit 403ab56
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 @@ -782,7 +782,7 @@ static void rs_set_stay_in_table(u8 is_legacy,
if (is_legacy) {
lq_data->table_count_limit = IWL_LEGACY_TABLE_COUNT;
lq_data->max_failure_limit = IWL_LEGACY_FAILURE_LIMIT;
lq_data->max_success_limit = IWL_LEGACY_TABLE_COUNT;
lq_data->max_success_limit = IWL_LEGACY_SUCCESS_LIMIT;
} else {
lq_data->table_count_limit = IWL_NONE_LEGACY_TABLE_COUNT;
lq_data->max_failure_limit = IWL_NONE_LEGACY_FAILURE_LIMIT;
Expand Down Expand Up @@ -937,9 +937,10 @@ static int rs_switch_to_mimo(struct iwl_priv *priv,

IWL_DEBUG_HT("LQ: Switch to new mcs %X index is green %X\n",
tbl->current_rate.rate_n_flags, is_green);

#endif /*CONFIG_IWL4965_HT */
return 0;
#else
return -1;
#endif /*CONFIG_IWL4965_HT */
}

static int rs_switch_to_siso(struct iwl_priv *priv,
Expand Down Expand Up @@ -991,9 +992,11 @@ static int rs_switch_to_siso(struct iwl_priv *priv,
rs_mcs_from_tbl(&tbl->current_rate, tbl, rate, is_green);
IWL_DEBUG_HT("LQ: Switch to new mcs %X index is green %X\n",
tbl->current_rate.rate_n_flags, is_green);
return 0;
#else
return -1;

#endif /*CONFIG_IWL4965_HT */
return 0;
}

static int rs_move_legacy_other(struct iwl_priv *priv,
Expand Down Expand Up @@ -1282,7 +1285,7 @@ static void rs_stay_in_table(struct iwl_rate_scale_priv *lq_data)
lq_data->total_failed = 0;
lq_data->total_success = 0;
lq_data->flush_timer = 0;
} else if (lq_data->table_count > 0) {
} else {
lq_data->table_count++;
if (lq_data->table_count >=
lq_data->table_count_limit) {
Expand Down

0 comments on commit 403ab56

Please sign in to comment.