aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath9k/ar9003_calib.c
diff options
context:
space:
mode:
authorRajkumar Manoharan <rmanohar@qca.qualcomm.com>2011-09-15 19:02:25 +0530
committerGreg Kroah-Hartman <gregkh@suse.de>2011-11-11 09:35:43 -0800
commit26155866748bad74d6b257ba891d794dad85f621 (patch)
tree75bac6ab70d7f908ee24ef9bd52c326f2d792c32 /drivers/net/wireless/ath/ath9k/ar9003_calib.c
parent1ad894adcc396cb74d1ee7173d013a803c457ad8 (diff)
downloadkernel_samsung_smdk4412-26155866748bad74d6b257ba891d794dad85f621.zip
kernel_samsung_smdk4412-26155866748bad74d6b257ba891d794dad85f621.tar.gz
kernel_samsung_smdk4412-26155866748bad74d6b257ba891d794dad85f621.tar.bz2
ath9k_hw: Fix magnitude/phase coeff correction
commit e9c10469cf3c71bc1c6b0f01319161e277d6ac9b upstream. Do the magnitude/phase coeff correction only if the outlier is detected. Updating wrong magnitude/phase coeff factor impacts not only tx gain setting but also leads to poor performance in congested networks. In the clear environment the impact is very minimal because the outlier happens very rarely according to the past experiment. It occured less than once every 1000 calibrations. Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/ar9003_calib.c')
-rw-r--r--drivers/net/wireless/ath/ath9k/ar9003_calib.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath/ath9k/ar9003_calib.c b/drivers/net/wireless/ath/ath9k/ar9003_calib.c
index f48051c..7c2aaad 100644
--- a/drivers/net/wireless/ath/ath9k/ar9003_calib.c
+++ b/drivers/net/wireless/ath/ath9k/ar9003_calib.c
@@ -643,8 +643,9 @@ static void ar9003_hw_detect_outlier(int *mp_coeff, int nmeasurement,
outlier_idx = max_idx;
else
outlier_idx = min_idx;
+
+ mp_coeff[outlier_idx] = mp_avg;
}
- mp_coeff[outlier_idx] = mp_avg;
}
static void ar9003_hw_tx_iqcal_load_avg_2_passes(struct ath_hw *ah,