The driver misses checking the result of devm_regmap_init_mmio().
Add a check to fix it.
Fixes: fc15be39a827 ("dmaengine: axi-dmac: add regmap support")
Signed-off-by: Chuhong Yuan <[email protected]>
---
drivers/dma/dma-axi-dmac.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/drivers/dma/dma-axi-dmac.c b/drivers/dma/dma-axi-dmac.c
index a0ee404b736e..cf4f892562cc 100644
--- a/drivers/dma/dma-axi-dmac.c
+++ b/drivers/dma/dma-axi-dmac.c
@@ -830,6 +830,7 @@ static int axi_dmac_probe(struct platform_device *pdev)
struct dma_device *dma_dev;
struct axi_dmac *dmac;
struct resource *res;
+ struct regmap *regmap;
int ret;
dmac = devm_kzalloc(&pdev->dev, sizeof(*dmac), GFP_KERNEL);
@@ -921,10 +922,17 @@ static int axi_dmac_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, dmac);
- devm_regmap_init_mmio(&pdev->dev, dmac->base, &axi_dmac_regmap_config);
+ regmap = devm_regmap_init_mmio(&pdev->dev, dmac->base,
+ &axi_dmac_regmap_config);
+ if (IS_ERR(regmap)) {
+ ret = PTR_ERR(regmap);
+ goto err_free_irq;
+ }
return 0;
+err_free_irq:
+ free_irq(dmac->irq, dmac);
err_unregister_of:
of_dma_controller_free(pdev->dev.of_node);
err_unregister_device:
--
2.24.0
On Mon, 2019-12-09 at 16:57 +0800, Chuhong Yuan wrote:
> [External]
>
> The driver misses checking the result of devm_regmap_init_mmio().
> Add a check to fix it.
Thanks :)
Reviewed-by: Alexandru Ardelean <[email protected]>
>
> Fixes: fc15be39a827 ("dmaengine: axi-dmac: add regmap support")
> Signed-off-by: Chuhong Yuan <[email protected]>
> ---
> drivers/dma/dma-axi-dmac.c | 10 +++++++++-
> 1 file changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/dma/dma-axi-dmac.c b/drivers/dma/dma-axi-dmac.c
> index a0ee404b736e..cf4f892562cc 100644
> --- a/drivers/dma/dma-axi-dmac.c
> +++ b/drivers/dma/dma-axi-dmac.c
> @@ -830,6 +830,7 @@ static int axi_dmac_probe(struct platform_device
> *pdev)
> struct dma_device *dma_dev;
> struct axi_dmac *dmac;
> struct resource *res;
> + struct regmap *regmap;
> int ret;
>
> dmac = devm_kzalloc(&pdev->dev, sizeof(*dmac), GFP_KERNEL);
> @@ -921,10 +922,17 @@ static int axi_dmac_probe(struct platform_device
> *pdev)
>
> platform_set_drvdata(pdev, dmac);
>
> - devm_regmap_init_mmio(&pdev->dev, dmac->base,
> &axi_dmac_regmap_config);
> + regmap = devm_regmap_init_mmio(&pdev->dev, dmac->base,
> + &axi_dmac_regmap_config);
> + if (IS_ERR(regmap)) {
> + ret = PTR_ERR(regmap);
> + goto err_free_irq;
> + }
>
> return 0;
>
> +err_free_irq:
> + free_irq(dmac->irq, dmac);
> err_unregister_of:
> of_dma_controller_free(pdev->dev.of_node);
> err_unregister_device:
On 09-12-19, 16:57, Chuhong Yuan wrote:
> The driver misses checking the result of devm_regmap_init_mmio().
> Add a check to fix it.
Applied, thanks
--
~Vinod