diff options
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/hw.c')
| -rw-r--r-- | drivers/net/wireless/ath/ath9k/hw.c | 4 | 
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c index 2a2ae403e0e..07e25260c31 100644 --- a/drivers/net/wireless/ath/ath9k/hw.c +++ b/drivers/net/wireless/ath/ath9k/hw.c @@ -1463,7 +1463,9 @@ static bool ath9k_hw_chip_reset(struct ath_hw *ah,  			reset_type = ATH9K_RESET_POWER_ON;  		else  			reset_type = ATH9K_RESET_COLD; -	} +	} else if (ah->chip_fullsleep || REG_READ(ah, AR_Q_TXE) || +		   (REG_READ(ah, AR_CR) & AR_CR_RXE)) +		reset_type = ATH9K_RESET_COLD;  	if (!ath9k_hw_set_reset_reg(ah, reset_type))  		return false;  |