diff options
| author | Jinjie Ruan <ruanjinjie@huawei.com> | 2024-09-12 11:41:47 +0800 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2024-12-09 10:31:52 +0100 |
| commit | bfd19f48c45cfd95499a37f3f40a4644a9f6c249 (patch) | |
| tree | e4a8c1b91d80d86b92b624bef896dacf97033e05 /drivers/soc | |
| parent | b7394c6fba3a9697dcd23b8a6397ccc702fdd2e7 (diff) | |
| download | linux-bfd19f48c45cfd95499a37f3f40a4644a9f6c249.tar.gz linux-bfd19f48c45cfd95499a37f3f40a4644a9f6c249.tar.bz2 linux-bfd19f48c45cfd95499a37f3f40a4644a9f6c249.zip | |
soc: ti: smartreflex: Use IRQF_NO_AUTOEN flag in request_irq()
[ Upstream commit 16a0a69244240cfa32c525c021c40f85e090557a ]
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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/soc')
| -rw-r--r-- | drivers/soc/ti/smartreflex.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/soc/ti/smartreflex.c b/drivers/soc/ti/smartreflex.c index 62b2f1464e46..55c48ddcf50d 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; |
