[PATCH] dmaengine: amlogic: Fix regmap error check issue
sashiko-bot at kernel.org
sashiko-bot at kernel.org
Thu Oct 15 20:08:25 PDT 2026
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.
>
> 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