diff mbox series

soc: ti: smartreflex: Use IRQF_NO_AUTOEN flag in request_irq()

Message ID 20240912034147.3014213-1-ruanjinjie@huawei.com
State Accepted
Commit 16a0a69244240cfa32c525c021c40f85e090557a
Headers show
Series soc: ti: smartreflex: Use IRQF_NO_AUTOEN flag in request_irq() | expand

Commit Message

Jinjie Ruan Sept. 12, 2024, 3:41 a.m. UTC
If request_irq() fails in sr_late_init(), there is no need to enable
the irq, and if it succeeds, disable_irq() after request_irq() still has
a time gap in which interrupts can come.

request_irq() with IRQF_NO_AUTOEN flag will disable IRQ auto-enable when
request IRQ.

Fixes: 1279ba5916f6 ("OMAP3+: SR: disable interrupt by default")
Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com>
---
 drivers/soc/ti/smartreflex.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Kevin Hilman Oct. 4, 2024, 9:28 p.m. UTC | #1
On Thu, 12 Sep 2024 11:41:47 +0800, Jinjie Ruan wrote:
> If request_irq() fails in sr_late_init(), there is no need to enable
> the irq, and if it succeeds, disable_irq() after request_irq() still has
> a time gap in which interrupts can come.
> 
> request_irq() with IRQF_NO_AUTOEN flag will disable IRQ auto-enable when
> request IRQ.
> 
> [...]

Applied, thanks!

[1/1] soc: ti: smartreflex: Use IRQF_NO_AUTOEN flag in request_irq()
      commit: 16a0a69244240cfa32c525c021c40f85e090557a

Best regards,
diff mbox series

Patch

diff --git a/drivers/soc/ti/smartreflex.c b/drivers/soc/ti/smartreflex.c
index d6219060b616..38add2ab5613 100644
--- a/drivers/soc/ti/smartreflex.c
+++ b/drivers/soc/ti/smartreflex.c
@@ -202,10 +202,10 @@  static int sr_late_init(struct omap_sr *sr_info)
 
 	if (sr_class->notify && sr_class->notify_flags && sr_info->irq) {
 		ret = devm_request_irq(&sr_info->pdev->dev, sr_info->irq,
-				       sr_interrupt, 0, sr_info->name, sr_info);
+				       sr_interrupt, IRQF_NO_AUTOEN,
+				       sr_info->name, sr_info);
 		if (ret)
 			goto error;
-		disable_irq(sr_info->irq);
 	}
 
 	return ret;