From: sashiko-bot@kernel.org
To: "Linus Walleij" <linusw@kernel.org>
Cc: Frank.Li@kernel.org, vkoul@kernel.org, dmaengine@vger.kernel.org
Subject: Re: [PATCH v2 08/13] dmaengine: ste_dma40: Fix probe IRQ leak
Date: Thu, 20 Aug 2026 13:29:40 +0000 [thread overview]
Message-ID: <20260820132941.363511F00A3F@smtp.kernel.org> (raw)
In-Reply-To: <20260820-dma40-fixes-v2-8-63238334c707@kernel.org>
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
Pre-existing issues:
- [High] Hardware interrupt is requested before hardware initialization and Runtime PM enablement, creating a window for an immediate IRQ storm.
--
--- Patch [8]: [PATCH v2 08/13] dmaengine: ste_dma40: Fix probe IRQ leak ---
commit e1b29c17ec30abafeb3d5100e10a174f78b73842
Author: Linus Walleij <linusw@kernel.org>
dmaengine: ste_dma40: Fix probe IRQ leak
This commit fixes an IRQ leak in the probe error paths of the ste_dma40 driver
by tracking whether the IRQ was successfully requested and freeing it during
failure teardown.
Reported-by: sashiko-bot@kernel.org
Closes: https://lore.kernel.org/dmaengine/20260618051539.15E201F000E9@smtp.kernel.org/
Assisted-by: Codex:gpt-5-5
Signed-off-by: Linus Walleij <linusw@kernel.org>
> diff --git a/drivers/dma/ste_dma40.c b/drivers/dma/ste_dma40.c
> index 0c9094b4c4ade..8cf73b37f8bfd 100644
> --- a/drivers/dma/ste_dma40.c
> +++ b/drivers/dma/ste_dma40.c
[ ... ]
> @@ -3605,6 +3606,7 @@ static int __init d40_probe(struct platform_device *pdev)
> d40_err(dev, "No IRQ defined\n");
> goto destroy_cache;
> }
> + irq_requested = true;
[Severity: High]
This is a pre-existing issue, but does requesting the IRQ here create a
window for an immediate interrupt storm?
The interrupt is requested in d40_probe() before hardware initialization
(d40_hw_init()) and Runtime PM enablement (pm_runtime_enable()). If the
hardware interrupt is already asserted (for example, if left pending by a
bootloader), it will fire immediately.
Inside d40_handle_interrupt(), the handler checks Runtime PM status:
drivers/dma/ste_dma40.c:d40_handle_interrupt() {
...
ret = pm_runtime_get_if_active(base->dev);
if (ret <= 0)
return IRQ_NONE;
...
}
Since pm_runtime_set_active() and pm_runtime_enable() have not yet been
executed in d40_probe(), Runtime PM is inactive. This causes the check to
fail, returning IRQ_NONE without servicing or clearing the hardware
interrupt.
For level-triggered interrupts, could this lead to an unhandled interrupt
storm that permanently disables the device's IRQ line?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260820-dma40-fixes-v2-0-63238334c707@kernel.org?part=8
next prev parent reply other threads:[~2026-08-20 13:29 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-20 13:14 [PATCH v2 00/13] dmaengine: ste_dma40: Fix probe and allocation bugs Linus Walleij
2026-08-20 13:14 ` [PATCH v2 01/13] dmaengine: ste_dma40: Fix failed start cleanup Linus Walleij
2026-08-20 13:30 ` sashiko-bot
2026-08-20 13:14 ` [PATCH v2 02/13] dmaengine: ste_dma40: Check runtime PM in IRQ Linus Walleij
2026-08-20 13:31 ` sashiko-bot
2026-08-20 13:14 ` [PATCH v2 03/13] dmaengine: ste_dma40: Init hardware before registration Linus Walleij
2026-08-20 13:14 ` [PATCH v2 04/13] dmaengine: ste_dma40: Fix DMA registration unwind Linus Walleij
2026-08-20 13:30 ` sashiko-bot
2026-08-20 13:14 ` [PATCH v2 05/13] dmaengine: ste_dma40: Fix LCLA allocation order Linus Walleij
2026-08-20 13:29 ` sashiko-bot
2026-08-20 13:15 ` [PATCH v2 06/13] dmaengine: ste_dma40: Fix probe LCLA free Linus Walleij
2026-08-20 13:15 ` [PATCH v2 07/13] dmaengine: ste_dma40: Fix probe runtime PM disable Linus Walleij
2026-08-20 13:29 ` sashiko-bot
2026-08-20 13:15 ` [PATCH v2 08/13] dmaengine: ste_dma40: Fix probe IRQ leak Linus Walleij
2026-08-20 13:29 ` sashiko-bot [this message]
2026-08-20 13:15 ` [PATCH v2 09/13] dmaengine: ste_dma40: Fix memcpy channel parsing Linus Walleij
2026-08-20 13:29 ` sashiko-bot
2026-08-20 13:15 ` [PATCH v2 10/13] dmaengine: ste_dma40: Fix logical channel bounds check Linus Walleij
2026-08-20 13:32 ` sashiko-bot
2026-08-20 13:15 ` [PATCH v2 11/13] dmaengine: ste_dma40: Fix event group bounds Linus Walleij
2026-08-20 13:34 ` sashiko-bot
2026-08-20 13:15 ` [PATCH v2 12/13] dmaengine: ste_dma40: Validate memcpy configuration Linus Walleij
2026-08-20 13:37 ` sashiko-bot
2026-08-20 13:15 ` [PATCH v2 13/13] dmaengine: Use unique debugfs names Linus Walleij
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260820132941.363511F00A3F@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=Frank.Li@kernel.org \
--cc=dmaengine@vger.kernel.org \
--cc=linusw@kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
--cc=vkoul@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.