Felix Fietkau wrote: > Cold reset is more reliable for getting the hardware out of some specific > stuck states. > > Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> > --- > drivers/net/wireless/ath/ath9k/hw.c | 14 ++++++++++---- > 1 files changed, 10 insertions(+), 4 deletions(-) > > diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c > index 8c840ca..d582cf7 100644 > --- a/drivers/net/wireless/ath/ath9k/hw.c > +++ b/drivers/net/wireless/ath/ath9k/hw.c > @@ -1386,10 +1386,16 @@ static bool ath9k_hw_set_reset_reg(struct ath_hw *ah, u32 type) > 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)) I think this needs to be verified a bit more thoroughly, since AR7010+AR9280 USB devices would also be affected by this change. What issue is exactly fixed by this change ? More background, etc. would be helpful. Sujith -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html