summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJinjie Ruan <ruanjinjie@huawei.com>2024-09-12 11:41:47 +0800
committerKevin Hilman <khilman@baylibre.com>2024-10-04 14:25:48 -0700
commit16a0a69244240cfa32c525c021c40f85e090557a (patch)
tree78fda445359dc14425bccaadea14d7ce910c8a8b
parent9852d85ec9d492ebef56dc5f229416c925758edc (diff)
downloadlinux-stable-16a0a69244240cfa32c525c021c40f85e090557a.tar.gz
linux-stable-16a0a69244240cfa32c525c021c40f85e090557a.tar.bz2
linux-stable-16a0a69244240cfa32c525c021c40f85e090557a.zip
soc: ti: smartreflex: Use IRQF_NO_AUTOEN flag in request_irq()
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> Link: https://lore.kernel.org/r/20240912034147.3014213-1-ruanjinjie@huawei.com Signed-off-by: Kevin Hilman <khilman@baylibre.com>
-rw-r--r--drivers/soc/ti/smartreflex.c4
1 files changed, 2 insertions, 2 deletions
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;