ath9k_hw: Assign macversion based on devid for built-in wmac
authorVasanthakumar Thiagarajan <vasanth@atheros.com>
Tue, 19 Apr 2011 13:59:18 +0000 (19:29 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 25 Apr 2011 18:50:12 +0000 (14:50 -0400)
Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/hw.c

index 39dd90110f3234e0f8231eaa8c61fc73812f8d3b..28076086f6338ce60c56f4246755c38b1f4ca6fa 100644 (file)
@@ -247,6 +247,17 @@ static void ath9k_hw_read_revisions(struct ath_hw *ah)
 {
        u32 val;
 
+       switch (ah->hw_version.devid) {
+       case AR5416_AR9100_DEVID:
+               ah->hw_version.macVersion = AR_SREV_VERSION_9100;
+               break;
+       case AR9300_DEVID_AR9340:
+               ah->hw_version.macVersion = AR_SREV_VERSION_9340;
+               val = REG_READ(ah, AR_SREV);
+               ah->hw_version.macRev = MS(val, AR_SREV_REVISION2);
+               return;
+       }
+
        val = REG_READ(ah, AR_SREV) & AR_SREV_ID;
 
        if (val == 0xFF) {
@@ -484,9 +495,6 @@ static int __ath9k_hw_init(struct ath_hw *ah)
        struct ath_common *common = ath9k_hw_common(ah);
        int r = 0;
 
-       if (ah->hw_version.devid == AR5416_AR9100_DEVID)
-               ah->hw_version.macVersion = AR_SREV_VERSION_9100;
-
        ath9k_hw_read_revisions(ah);
 
        /*