ath9k_hw: set pci_express capability true for AR9480
authorMohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
Fri, 30 Sep 2011 06:01:28 +0000 (11:31 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 3 Oct 2011 19:22:42 +0000 (15:22 -0400)
the AR_SREV register does not seems to indicate whether AR9480 is
pci_express capable or not though the other information like macVersion
etc can be obtained properly. this fix is essential as ASPM won't be intialized
and its related driver functionality ath9k_hw_configpcipowersave won't be
called

Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/hw.c

index e2c62ea50dad1fd9cfe713b52c51d91f98626543..42ebe8fb053a62575afcc6ed2ec695dbe7725dc0 100644 (file)
@@ -284,7 +284,12 @@ static void ath9k_hw_read_revisions(struct ath_hw *ah)
                ah->hw_version.macVersion =
                        (val & AR_SREV_VERSION2) >> AR_SREV_TYPE2_S;
                ah->hw_version.macRev = MS(val, AR_SREV_REVISION2);
-               ah->is_pciexpress = (val & AR_SREV_TYPE2_HOST_MODE) ? 0 : 1;
+
+               if (AR_SREV_9480(ah))
+                       ah->is_pciexpress = true;
+               else
+                       ah->is_pciexpress = (val &
+                                            AR_SREV_TYPE2_HOST_MODE) ? 0 : 1;
        } else {
                if (!AR_SREV_9100(ah))
                        ah->hw_version.macVersion = MS(val, AR_SREV_VERSION);