| From a5b982af953bcc838cd198b0434834cc1dff14ec Mon Sep 17 00:00:00 2001 |
| From: Chuhong Yuan <hslester96@gmail.com> |
| Date: Mon, 9 Dec 2019 16:57:11 +0800 |
| Subject: dmaengine: axi-dmac: add a check for devm_regmap_init_mmio |
| |
| From: Chuhong Yuan <hslester96@gmail.com> |
| |
| commit a5b982af953bcc838cd198b0434834cc1dff14ec upstream. |
| |
| 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> |
| Reviewed-by: Alexandru Ardelean <alexandru.ardelean@analog.com> |
| Link: https://lore.kernel.org/r/20191209085711.16001-1-hslester96@gmail.com |
| Signed-off-by: Vinod Koul <vkoul@kernel.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/dma/dma-axi-dmac.c | 10 +++++++++- |
| 1 file changed, 9 insertions(+), 1 deletion(-) |
| |
| --- a/drivers/dma/dma-axi-dmac.c |
| +++ b/drivers/dma/dma-axi-dmac.c |
| @@ -830,6 +830,7 @@ static int axi_dmac_probe(struct platfor |
| 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 platfor |
| |
| 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: |