ath11k: set IRQ_DISABLE_UNLAZY flag for DP interrupts
authorManikanta Pubbisetty <mpubbise@codeaurora.org>
Thu, 9 Apr 2020 08:30:13 +0000 (14:00 +0530)
committerKalle Valo <kvalo@codeaurora.org>
Tue, 14 Apr 2020 08:33:01 +0000 (11:33 +0300)
Unlike CE interrupts, DP interrupts are not enabled/disabled at
source; they are enabled/disabled only at GIC level, therefore
it is required to set IRQ_DISABLE_UNLAZY flag to avoid spurious
interrupts.

Signed-off-by: Manikanta Pubbisetty <mpubbise@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/1586421013-23025-1-git-send-email-mpubbise@codeaurora.org
drivers/net/wireless/ath/ath11k/ahb.c

index 59342d2..3b2b76d 100644 (file)
@@ -788,7 +788,7 @@ static int ath11k_ahb_ext_irq_config(struct ath11k_base *ab)
                        irq = platform_get_irq_byname(ab->pdev,
                                                      irq_name[irq_idx]);
                        ab->irq_num[irq_idx] = irq;
-                       irq_set_status_flags(irq, IRQ_NOAUTOEN);
+                       irq_set_status_flags(irq, IRQ_NOAUTOEN | IRQ_DISABLE_UNLAZY);
                        ret = request_irq(irq, ath11k_ahb_ext_interrupt_handler,
                                          IRQF_TRIGGER_RISING,
                                          irq_name[irq_idx], irq_grp);