diff --git a/drivers/dma/stm32-mdma.c b/drivers/dma/stm32-mdma.c index f23c82e3990c1246e49c5aa87aeab9c532a79179..2dbd1f38a6f5d0b7b38ecb4d9345aa60fbe620b2 100644 --- a/drivers/dma/stm32-mdma.c +++ b/drivers/dma/stm32-mdma.c @@ -1579,8 +1579,8 @@ static int stm32_mdma_probe(struct platform_device *pdev) dmadev->clk = devm_clk_get(&pdev->dev, NULL); if (IS_ERR(dmadev->clk)) { ret = PTR_ERR(dmadev->clk); - if (ret == -EPROBE_DEFER) - dev_info(&pdev->dev, "Missing controller clock\n"); + if (ret != -EPROBE_DEFER) + dev_err(&pdev->dev, "Missing clock controller\n"); return ret; } @@ -1591,7 +1591,11 @@ static int stm32_mdma_probe(struct platform_device *pdev) } rst = devm_reset_control_get(&pdev->dev, NULL); - if (!IS_ERR(rst)) { + if (IS_ERR(rst)) { + ret = PTR_ERR(rst); + if (ret == -EPROBE_DEFER) + goto err_clk; + } else { reset_control_assert(rst); udelay(2); reset_control_deassert(rst);