Re: [PATCH] ata: pata_pxa: Fix DMA channel leak on probe error
From: Niklas Cassel
Date: Fri Jun 26 2026 - 07:11:02 EST
On Thu, Jun 25, 2026 at 10:18:37PM +0800, Wentao Liang wrote:
> When dmaengine_slave_config() fails, the DMA channel acquired by
> dma_request_chan() is not released before returning the error,
> leaking the channel reference.
>
> Fix by adding dma_release_channel() in the error path.
>
> The ata_host_activate() error path already correctly releases the
> DMA channel.
>
> Cc: stable@xxxxxxxxxxxxxxx
> Fixes: 88622d80af82 ("ata: pata_pxa: dmaengine conversion")
> Signed-off-by: Wentao Liang <vulab@xxxxxxxxxxx>
> ---
> drivers/ata/pata_pxa.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/ata/pata_pxa.c b/drivers/ata/pata_pxa.c
> index 03dbaf4a13a7..9f63bdfb8576 100644
> --- a/drivers/ata/pata_pxa.c
> +++ b/drivers/ata/pata_pxa.c
> @@ -286,6 +286,7 @@ static int pxa_ata_probe(struct platform_device *pdev)
> ret = dmaengine_slave_config(data->dma_chan, &config);
> if (ret < 0) {
> dev_err(&pdev->dev, "dma configuration failed: %d\n", ret);
> + dma_release_channel(data->dma_chan);
> return ret;
> }
>
> --
> 2.39.5 (Apple Git-154)
>
Reviewed-by: Niklas Cassel <cassel@xxxxxxxxxx>