ath9k_hw: validate MCI stuck after RTC wakeup
authorRajkumar Manoharan <rmanohar@qca.qualcomm.com>
Thu, 25 Oct 2012 11:46:53 +0000 (17:16 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 29 Oct 2012 19:30:33 +0000 (15:30 -0400)
Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/hw.c

index 8e1559aba495a0bd7447ac2c79703d49caf70abd..71cd9f0c96af35e7b643c91d7b0b380685802db6 100644 (file)
@@ -2153,9 +2153,6 @@ static bool ath9k_hw_set_power_awake(struct ath_hw *ah)
                    AR_RTC_FORCE_WAKE_EN);
        udelay(50);
 
-       if (ath9k_hw_mci_is_enabled(ah))
-               ar9003_mci_set_power_awake(ah);
-
        for (i = POWER_UP_TIME / 50; i > 0; i--) {
                val = REG_READ(ah, AR_RTC_STATUS) & AR_RTC_STATUS_M;
                if (val == AR_RTC_STATUS_ON)
@@ -2171,6 +2168,9 @@ static bool ath9k_hw_set_power_awake(struct ath_hw *ah)
                return false;
        }
 
+       if (ath9k_hw_mci_is_enabled(ah))
+               ar9003_mci_set_power_awake(ah);
+
        REG_CLR_BIT(ah, AR_STA_ID1, AR_STA_ID1_PWR_SAV);
 
        return true;