Message ID | 20191209085711.16001-1-hslester96@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | dmaengine: axi-dmac: add a check for devm_regmap_init_mmio | expand |
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 <alexandru.ardelean@analog.com> > > Fixes: fc15be39a827 ("dmaengine: axi-dmac: add regmap support") > Signed-off-by: Chuhong Yuan <hslester96@gmail.com> > --- > 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
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:
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 <hslester96@gmail.com> --- drivers/dma/dma-axi-dmac.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-)