ath9k: use cold reset instead of warm reset on ar9280 to make recovery from stuck states more reliable
SVN-Revision: 28118
This commit is contained in:
parent
8a3d0de37b
commit
78ec994ef8
1 changed files with 23 additions and 0 deletions
23
package/mac80211/patches/593-ath9k_ar9280_cold_reset.patch
Normal file
23
package/mac80211/patches/593-ath9k_ar9280_cold_reset.patch
Normal file
|
@ -0,0 +1,23 @@
|
|||
--- a/drivers/net/wireless/ath/ath9k/hw.c
|
||||
+++ b/drivers/net/wireless/ath/ath9k/hw.c
|
||||
@@ -1368,10 +1368,16 @@ static bool ath9k_hw_set_reset_reg(struc
|
||||
static bool ath9k_hw_chip_reset(struct ath_hw *ah,
|
||||
struct ath9k_channel *chan)
|
||||
{
|
||||
- if (AR_SREV_9280(ah) && ah->eep_ops->get_eeprom(ah, EEP_OL_PWRCTRL)) {
|
||||
- if (!ath9k_hw_set_reset_reg(ah, ATH9K_RESET_POWER_ON))
|
||||
- return false;
|
||||
- } else if (!ath9k_hw_set_reset_reg(ah, ATH9K_RESET_WARM))
|
||||
+ int reset_type = ATH9K_RESET_WARM;
|
||||
+
|
||||
+ if (AR_SREV_9280(ah)) {
|
||||
+ if (ah->eep_ops->get_eeprom(ah, EEP_OL_PWRCTRL))
|
||||
+ reset_type = ATH9K_RESET_POWER_ON;
|
||||
+ else
|
||||
+ reset_type = ATH9K_RESET_COLD;
|
||||
+ }
|
||||
+
|
||||
+ if (!ath9k_hw_set_reset_reg(ah, reset_type))
|
||||
return false;
|
||||
|
||||
if (!ath9k_hw_setpower(ah, ATH9K_PM_AWAKE))
|
Loading…
Reference in a new issue