diff options
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/hw.c')
| -rw-r--r-- | drivers/net/wireless/ath/ath9k/hw.c | 17 | 
1 files changed, 8 insertions, 9 deletions
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c index 8e1559aba49..7cb78706591 100644 --- a/drivers/net/wireless/ath/ath9k/hw.c +++ b/drivers/net/wireless/ath/ath9k/hw.c @@ -1456,7 +1456,7 @@ static bool ath9k_hw_set_reset_reg(struct ath_hw *ah, u32 type)  	switch (type) {  	case ATH9K_RESET_POWER_ON:  		ret = ath9k_hw_set_reset_power_on(ah); -		if (!ret) +		if (ret)  			ah->reset_power_on = true;  		break;  	case ATH9K_RESET_WARM: @@ -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; @@ -2561,11 +2561,6 @@ int ath9k_hw_fill_cap_info(struct ath_hw *ah)  			pCap->hw_caps |= ATH9K_HW_CAP_ANT_DIV_COMB;  	} -	if (AR_SREV_9485_10(ah)) { -		pCap->pcie_lcr_extsync_en = true; -		pCap->pcie_lcr_offset = 0x80; -	} -  	if (ath9k_hw_dfs_tested(ah))  		pCap->hw_caps |= ATH9K_HW_CAP_DFS; @@ -2604,6 +2599,10 @@ int ath9k_hw_fill_cap_info(struct ath_hw *ah)  			pCap->hw_caps |= ATH9K_HW_WOW_PATTERN_MATCH_DWORD;  	} +	if (AR_SREV_9300_20_OR_LATER(ah) && +	    ah->eep_ops->get_eeprom(ah, EEP_PAPRD)) +			pCap->hw_caps |= ATH9K_HW_CAP_PAPRD; +  	return 0;  }  |