34 lines
1.1 KiB
Diff
34 lines
1.1 KiB
Diff
--- a/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
|
|
+++ b/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
|
|
@@ -3809,7 +3809,7 @@ static bool is_pmu_set(struct ath_hw *ah
|
|
return true;
|
|
}
|
|
|
|
-static void ar9003_hw_internal_regulator_apply(struct ath_hw *ah)
|
|
+void ar9003_hw_internal_regulator_apply(struct ath_hw *ah)
|
|
{
|
|
int internal_regulator =
|
|
ath9k_hw_ar9300_get_eeprom(ah, EEP_INTERNAL_REGULATOR);
|
|
--- a/drivers/net/wireless/ath/ath9k/ar9003_eeprom.h
|
|
+++ b/drivers/net/wireless/ath/ath9k/ar9003_eeprom.h
|
|
@@ -334,4 +334,7 @@ u8 *ar9003_get_spur_chan_ptr(struct ath_
|
|
|
|
unsigned int ar9003_get_paprd_scale_factor(struct ath_hw *ah,
|
|
struct ath9k_channel *chan);
|
|
+
|
|
+void ar9003_hw_internal_regulator_apply(struct ath_hw *ah);
|
|
+
|
|
#endif
|
|
--- a/drivers/net/wireless/ath/ath9k/hw.c
|
|
+++ b/drivers/net/wireless/ath/ath9k/hw.c
|
|
@@ -1477,6 +1477,9 @@ static bool ath9k_hw_chip_reset(struct a
|
|
return false;
|
|
|
|
ah->chip_fullsleep = false;
|
|
+
|
|
+ if (AR_SREV_9330(ah))
|
|
+ ar9003_hw_internal_regulator_apply(ah);
|
|
ath9k_hw_init_pll(ah, chan);
|
|
ath9k_hw_set_rfmode(ah, chan);
|
|
|