diff options
author | Rajkumar Manoharan <rmanohar@qca.qualcomm.com> | 2012-11-20 07:59:59 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2012-11-21 14:16:01 -0500 |
commit | ca90ef443cab31a5481d8a7f85514d28368fef44 (patch) | |
tree | b82c18aceea8e30777f566c37a4b338689bdb7b1 /drivers/net/wireless/ath/ath9k | |
parent | d2ff5ee919f0b1377595df80ba49c9921ce4ee62 (diff) |
ath9k: Process FATAL interrupts at first
FATAL and WATCHDOG interrupts should be processed first followed
by others.
Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/main.c | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c index 9594b6fcdf06..e59d8e3fcbc6 100644 --- a/drivers/net/wireless/ath/ath9k/main.c +++ b/drivers/net/wireless/ath/ath9k/main.c | |||
@@ -494,17 +494,6 @@ irqreturn_t ath_isr(int irq, void *dev) | |||
494 | if (status & SCHED_INTR) | 494 | if (status & SCHED_INTR) |
495 | sched = true; | 495 | sched = true; |
496 | 496 | ||
497 | #ifdef CONFIG_PM_SLEEP | ||
498 | if (status & ATH9K_INT_BMISS) { | ||
499 | if (atomic_read(&sc->wow_sleep_proc_intr) == 0) { | ||
500 | ath_dbg(common, ANY, "during WoW we got a BMISS\n"); | ||
501 | atomic_inc(&sc->wow_got_bmiss_intr); | ||
502 | atomic_dec(&sc->wow_sleep_proc_intr); | ||
503 | } | ||
504 | ath_dbg(common, INTERRUPT, "beacon miss interrupt\n"); | ||
505 | } | ||
506 | #endif | ||
507 | |||
508 | /* | 497 | /* |
509 | * If a FATAL or RXORN interrupt is received, we have to reset the | 498 | * If a FATAL or RXORN interrupt is received, we have to reset the |
510 | * chip immediately. | 499 | * chip immediately. |
@@ -523,7 +512,15 @@ irqreturn_t ath_isr(int irq, void *dev) | |||
523 | 512 | ||
524 | goto chip_reset; | 513 | goto chip_reset; |
525 | } | 514 | } |
526 | 515 | #ifdef CONFIG_PM_SLEEP | |
516 | if (status & ATH9K_INT_BMISS) { | ||
517 | if (atomic_read(&sc->wow_sleep_proc_intr) == 0) { | ||
518 | ath_dbg(common, ANY, "during WoW we got a BMISS\n"); | ||
519 | atomic_inc(&sc->wow_got_bmiss_intr); | ||
520 | atomic_dec(&sc->wow_sleep_proc_intr); | ||
521 | } | ||
522 | } | ||
523 | #endif | ||
527 | if (status & ATH9K_INT_SWBA) | 524 | if (status & ATH9K_INT_SWBA) |
528 | tasklet_schedule(&sc->bcon_tasklet); | 525 | tasklet_schedule(&sc->bcon_tasklet); |
529 | 526 | ||