2020-04-09 08:30:46

by Manikanta Pubbisetty

[permalink] [raw]
Subject: [PATCH] ath11k: set IRQ_DISABLE_UNLAZY flag for DP interrupts

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 <[email protected]>
---
drivers/net/wireless/ath/ath11k/ahb.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/ath/ath11k/ahb.c b/drivers/net/wireless/ath/ath11k/ahb.c
index 59342d2..3b2b76d 100644
--- a/drivers/net/wireless/ath/ath11k/ahb.c
+++ b/drivers/net/wireless/ath/ath11k/ahb.c
@@ -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);
--
2.7.4


2020-04-15 17:38:01

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH] ath11k: set IRQ_DISABLE_UNLAZY flag for DP interrupts

Manikanta Pubbisetty <[email protected]> wrote:

> 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 <[email protected]>
> Signed-off-by: Kalle Valo <[email protected]>

Patch applied to ath-next branch of ath.git, thanks.

05090864fc7e ath11k: set IRQ_DISABLE_UNLAZY flag for DP interrupts

--
https://patchwork.kernel.org/patch/11481417/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches