|
@@ -1951,6 +1951,7 @@ int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan,
|
|
|
|
|
|
ath9k_hw_mark_phy_inactive(ah);
|
|
|
|
|
|
+ /* Only required on the first reset */
|
|
|
if (AR_SREV_9271(ah) && ah->htc_reset_init) {
|
|
|
REG_WRITE(ah,
|
|
|
AR9271_RESET_POWER_DOWN_CONTROL,
|
|
@@ -1963,6 +1964,7 @@ int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan,
|
|
|
return -EINVAL;
|
|
|
}
|
|
|
|
|
|
+ /* Only required on the first reset */
|
|
|
if (AR_SREV_9271(ah) && ah->htc_reset_init) {
|
|
|
ah->htc_reset_init = false;
|
|
|
REG_WRITE(ah,
|
|
@@ -3857,6 +3859,16 @@ void ath_gen_timer_isr(struct ath_hw *ah)
|
|
|
}
|
|
|
EXPORT_SYMBOL(ath_gen_timer_isr);
|
|
|
|
|
|
+/********/
|
|
|
+/* HTC */
|
|
|
+/********/
|
|
|
+
|
|
|
+void ath9k_hw_htc_resetinit(struct ath_hw *ah)
|
|
|
+{
|
|
|
+ ah->htc_reset_init = true;
|
|
|
+}
|
|
|
+EXPORT_SYMBOL(ath9k_hw_htc_resetinit);
|
|
|
+
|
|
|
static struct {
|
|
|
u32 version;
|
|
|
const char * name;
|