ath9k_hw: Fix max rx rate drop for AR9565
authorRajkumar Manoharan <rmanohar@qca.qualcomm.com>
Mon, 15 Oct 2012 09:59:51 +0000 (15:29 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 29 Oct 2012 19:19:29 +0000 (15:19 -0400)
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>
drivers/net/wireless/ath/ath9k/ar9003_calib.c

index 84b558d..162401f 100644 (file)
@@ -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);