From: Rajkumar Manoharan Date: Thu, 27 Jan 2011 13:09:37 +0000 (+0530) Subject: ath9k_hw: Fix system hang when resuming from S3/S4 X-Git-Tag: v2.6.36.4~116 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=886de5fc897f329a74c59b0787030e4e114e22e3;p=thirdparty%2Fkernel%2Fstable.git ath9k_hw: Fix system hang when resuming from S3/S4 commit 5b64aa72ead6f8be488d2be7af579f0d69fb7a6e upstream. The bit 6 & 7 of AR_WA (0x4004) should be enabled only for the chips that are supporting L0s functionality while resuming back from S3/S4. Enabling these bits for AR9280 is causing system hang within a few S3/S4-resume cycles. Cc: Jack Lee Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/net/wireless/ath/ath9k/ar9002_hw.c b/drivers/net/wireless/ath/ath9k/ar9002_hw.c index cb90aa8bbabc1..ab1c50b8326d5 100644 --- a/drivers/net/wireless/ath/ath9k/ar9002_hw.c +++ b/drivers/net/wireless/ath/ath9k/ar9002_hw.c @@ -445,9 +445,8 @@ static void ar9002_hw_configpcipowersave(struct ath_hw *ah, } /* WAR for ASPM system hang */ - if (AR_SREV_9280(ah) || AR_SREV_9285(ah) || AR_SREV_9287(ah)) { + if (AR_SREV_9285(ah) || AR_SREV_9287(ah)) val |= (AR_WA_BIT6 | AR_WA_BIT7); - } if (AR_SREV_9285E_20(ah)) val |= AR_WA_BIT23;