[PATCH] dmaengine: amlogic: Fix regmap error check issue
Xianwei Zhao
xianwei.zhao at amlogic.com
Thu Oct 15 23:41:11 PDT 2026
Hi,
On 2026/10/16 11:08, sashiko-bot at kernel.org wrote:
> [ EXTERNAL EMAIL ]
>
> Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
> - [Medium] dmaengine: amlogic: free_wq leaked on error paths in aml_dma_probe()
> --
>
> commit 84261163c6f208aa12834ec242da34b3d805e7ad
> Author: Xianwei Zhao <xianwei.zhao at amlogic.com>
>
> dmaengine: amlogic: Fix regmap error check issue
>
> This commit changes the error check for devm_regmap_init_mmio() to use
> IS_ERR() instead of IS_ERR_OR_NULL(). This resolves a Smatch warning about
> passing zero to PTR_ERR().
>
> Closes: https://lore.kernel.org/r/202610080953.C5TYlCaA-lkp@intel.com/
>
>> diff --git a/drivers/dma/amlogic-dma.c b/drivers/dma/amlogic-dma.c
>> index 78ee2337ae712..684121d13fcab 100644
>> --- a/drivers/dma/amlogic-dma.c
>> +++ b/drivers/dma/amlogic-dma.c
>> @@ -632,7 +632,7 @@ static int aml_dma_probe(struct platform_device *pdev)
>>
>> aml_dma->regmap = devm_regmap_init_mmio(&pdev->dev, aml_dma->base,
>> &aml_regmap_config);
>> - if (IS_ERR_OR_NULL(aml_dma->regmap))
>> + if (IS_ERR(aml_dma->regmap))
>> return PTR_ERR(aml_dma->regmap);
>
> [Severity: Medium]
> Does this code leak the free_wq workqueue on this error path?
>
> aml_dma->free_wq is allocated earlier in aml_dma_probe() using
> alloc_ordered_workqueue(), which isn't managed by devres:
>
> drivers/dma/amlogic-dma.c:aml_dma_probe() {
> ...
> aml_dma->free_wq = alloc_ordered_workqueue("aml_dma_free", 0);
> if (!aml_dma->free_wq)
> return -ENOMEM;
> ...
> }
>
> If devm_regmap_init_mmio() fails and we return directly here, there is
> no cleanup for the allocated workqueue.
>
I will submit a patch separately to fix it.
>>
>> aml_dma->clk = devm_clk_get_enabled(&pdev->dev, NULL);
>
> --
> Sashiko AI review · https://sashiko.dev/#/patchset/20261016-fix-a9-dma-complier-v1-1-024421d5b3c8@amlogic.com?part=1
More information about the linux-amlogic
mailing list