From: dd <zhongling0719@126.com>
To: "Frank Li" <Frank.li@nxp.com>
Cc: "Hongling Zeng" <zenghongling@kylinos.cn>,
ludovic.desroches@microchip.com, vkoul@kernel.org,
Frank.Li@kernel.org, djbw@kernel.org,
nicolas.ferre@microchip.com, maciej.sosnowski@intel.com,
dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re:Re: [PATCH] dma: at_hdmac: Fix IRQ leak in at_dma_probe()
Date: Fri, 8 May 2026 09:33:19 +0800 (CST) [thread overview]
Message-ID: <1a41b0d2.11d6.19e0537be23.Coremail.zhongling0719@126.com> (raw)
In-Reply-To: <afzY9B9lGrfWMWUh@lizhi-Precision-Tower-5810>
Hi Frank,
Thanks for your review.
You're right that in the normal case platform_get_irq() returns the
same value as 'irq'. However, this pattern triggers a smatch warning:
drivers/dma/at_hdmac.c:2110 at_dma_probe()
warn: 'irq' from request_irq() not released on lines: 2110.
Static analysis tools cannot guarantee that platform_get_irq() will
always match the previously requested IRQ, so they treat it as a
potential resource leak.
Using the stored 'irq' makes the error path unambiguous and silences
the warning. Therefore I think it qualifies as a small bug fix rather
than just cleanup.
Thanks,
At 2026-05-08 02:24:52, "Frank Li" <Frank.li@nxp.com> wrote:
>On Thu, May 07, 2026 at 03:57:50PM +0800, Hongling Zeng wrote:
>> When request_irq() succeeds but a later error occurs in at_dma_probe(),
>> the error handling path attempts to free the IRQ by calling
>> platform_get_irq() again instead of using the already stored IRQ number
>> in the local variable 'irq'.
>>
>> Fix this by using the stored 'irq' variable directly in free_irq().
>>
>> Fixes: dc78baa2b90b2 ("dmaengine: Atmel HDMAC driver")
>
>Any actual problem do you meet? suppose it should be the same as 'irq'.
>
>of course using varible irq is correct. but this patch should belong code
>cleanup, not fix.
>
>Frank
>
>> Signed-off-by: Hongling Zeng <zenghongling@kylinos.cn>
>> ---
>> drivers/dma/at_hdmac.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/dma/at_hdmac.c b/drivers/dma/at_hdmac.c
>> index e5b30a57c477..2a860679b9e1 100644
>> --- a/drivers/dma/at_hdmac.c
>> +++ b/drivers/dma/at_hdmac.c
>> @@ -2109,7 +2109,7 @@ static int __init at_dma_probe(struct platform_device *pdev)
>> err_memset_pool_create:
>> dma_pool_destroy(atdma->lli_pool);
>> err_desc_pool_create:
>> - free_irq(platform_get_irq(pdev, 0), atdma);
>> + free_irq(irq, atdma);
>> err_irq:
>> clk_disable_unprepare(atdma->clk);
>> return err;
>> --
>> 2.25.1
>>
next prev parent reply other threads:[~2026-05-08 1:36 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-07 7:57 [PATCH] dma: at_hdmac: Fix IRQ leak in at_dma_probe() Hongling Zeng
2026-05-07 18:24 ` Frank Li
2026-05-08 1:33 ` dd [this message]
2026-05-08 19:46 ` Frank Li
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=1a41b0d2.11d6.19e0537be23.Coremail.zhongling0719@126.com \
--to=zhongling0719@126.com \
--cc=Frank.Li@kernel.org \
--cc=Frank.li@nxp.com \
--cc=djbw@kernel.org \
--cc=dmaengine@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=ludovic.desroches@microchip.com \
--cc=maciej.sosnowski@intel.com \
--cc=nicolas.ferre@microchip.com \
--cc=vkoul@kernel.org \
--cc=zenghongling@kylinos.cn \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox