mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-01 17:26:39 +07:00
ath9k: Process BB watchdog events in the tasklet
Move the BB processing code to the tasklet and avoid doing it in the ISR, there is no real benefit and this makes the ISR less heavy. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
415ec61b66
commit
0c75997758
@ -457,6 +457,11 @@ void ath9k_tasklet(unsigned long data)
|
||||
|
||||
if ((ah->config.hw_hang_checks & HW_BB_WATCHDOG) &&
|
||||
(status & ATH9K_INT_BB_WATCHDOG)) {
|
||||
spin_lock(&common->cc_lock);
|
||||
ath_hw_cycle_counters_update(common);
|
||||
ar9003_hw_bb_watchdog_dbg_info(ah);
|
||||
spin_unlock(&common->cc_lock);
|
||||
|
||||
if (ar9003_hw_bb_watchdog_check(ah)) {
|
||||
type = RESET_TYPE_BB_WATCHDOG;
|
||||
ath9k_queue_reset(sc, type);
|
||||
@ -593,15 +598,8 @@ irqreturn_t ath_isr(int irq, void *dev)
|
||||
goto chip_reset;
|
||||
|
||||
if ((ah->config.hw_hang_checks & HW_BB_WATCHDOG) &&
|
||||
(status & ATH9K_INT_BB_WATCHDOG)) {
|
||||
|
||||
spin_lock(&common->cc_lock);
|
||||
ath_hw_cycle_counters_update(common);
|
||||
ar9003_hw_bb_watchdog_dbg_info(ah);
|
||||
spin_unlock(&common->cc_lock);
|
||||
|
||||
(status & ATH9K_INT_BB_WATCHDOG))
|
||||
goto chip_reset;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_ATH9K_WOW
|
||||
if (status & ATH9K_INT_BMISS) {
|
||||
|
Loading…
Reference in New Issue
Block a user