diff options
author | Rajkumar Manoharan <rmanohar@qca.qualcomm.com> | 2012-10-15 11:59:51 +0200 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2012-10-29 20:19:29 +0100 |
commit | 6f37ff96d3bd2a53e68131a7c10ced933815b390 (patch) | |
tree | 7390a9096ffa8fe1c4584e5f4048941a9eca943f | |
parent | ath9k_hw: Fix frequent BT rx recovery (diff) | |
download | linux-6f37ff96d3bd2a53e68131a7c10ced933815b390.tar.xz linux-6f37ff96d3bd2a53e68131a7c10ced933815b390.zip |
ath9k_hw: Fix max rx rate drop for AR9565
Whenever i_coff of IQ calibration is too high, AR9565 drops max
rx rate to MCS4. Skipping IQ update at this time can avoid this
problem for AR9565.
Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r-- | drivers/net/wireless/ath/ath9k/ar9003_calib.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath9k/ar9003_calib.c b/drivers/net/wireless/ath/ath9k/ar9003_calib.c index 84b558d126ca..162401f22f8c 100644 --- a/drivers/net/wireless/ath/ath9k/ar9003_calib.c +++ b/drivers/net/wireless/ath/ath9k/ar9003_calib.c @@ -276,6 +276,11 @@ static void ar9003_hw_iqcalibrate(struct ath_hw *ah, u8 numChains) offset_array[i], REG_READ(ah, offset_array[i])); + if (AR_SREV_9565(ah) && + (iCoff == 63 || qCoff == 63 || + iCoff == -63 || qCoff == -63)) + return; + REG_RMW_FIELD(ah, offset_array[i], AR_PHY_RX_IQCAL_CORR_IQCORR_Q_I_COFF, iCoff); |