From 1537cf69059dd38af25516060870d9960705b85d Mon Sep 17 00:00:00 2001 From: Tomas Winkler Date: Thu, 23 Aug 2007 16:43:47 +0300 Subject: [PATCH 24/31] iwlwifi: rate scaling - up scaling fix This patch fixes 'up scaling' in 4965 rate scaling algorithm. The rates were artificially kept rate to 48M which prevented the rate scaling algorithm to reach stable state once TX rate configuration reached 120M and above. Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi --- drivers/net/wireless/iwl-4965-rs.c | 8 +------- 1 files changed, 1 insertions(+), 7 deletions(-) diff --git a/drivers/net/wireless/iwl-4965-rs.c b/drivers/net/wireless/iwl-4965-rs.c index dcda957..d16c0fb 100644 --- a/drivers/net/wireless/iwl-4965-rs.c +++ b/drivers/net/wireless/iwl-4965-rs.c @@ -899,8 +899,6 @@ static s32 rs_get_best_rate(struct iwl_priv *priv, break; } } - if (new_rate == IWL_RATE_INVALID) - new_rate = rate; return new_rate; } @@ -957,9 +955,6 @@ static int rs_switch_to_mimo(struct iwl_priv *priv, rate = rs_get_best_rate(priv, lq_data, tbl, rate_mask, index, 4); - if ((rate == IWL_RATE_INVALID) || (rate == 1)) - rate = IWL_RATE_48M_INDEX; - IWL_DEBUG_HT("LQ: MIMO best rate %d mask %X\n", rate, rate_mask); if ((rate == IWL_RATE_INVALID) || !((1 << rate) & rate_mask)) return -1; @@ -1013,8 +1008,7 @@ static int rs_switch_to_siso(struct iwl_priv *priv, rs_get_expected_tpt_table(lq_data, tbl); rate = rs_get_best_rate(priv, lq_data, tbl, rate_mask, index, 4); - if ((rate == IWL_RATE_INVALID) || (rate == 1)) - rate = IWL_RATE_48M_INDEX; + IWL_DEBUG_HT("LQ: get best rate %d mask %X\n", rate, rate_mask); if ((rate == IWL_RATE_INVALID) || !((1 << rate) & rate_mask)) { IWL_DEBUG_HT("can not switch with index %d rate mask %x\n", -- 1.5.2