Re: [PATCH] dma: at_hdmac: Fix IRQ leak in at_dma_probe()

From: Frank Li

Date: Thu May 07 2026 - 14:26:26 EST


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@xxxxxxxxxx>
> ---
> 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
>