mmc: wmt-sdmmc: Fix an error handling path in wmt_mci_probe()
[ Upstream commitcb58188ad9] A dma_free_coherent() call is missing in the error handling path of the probe, as already done in the remove function. Fixes:3a96dff0f8("mmc: SD/MMC Host Controller for Wondermedia WM8505/WM8650") Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com> Link: https://lore.kernel.org/r/53fc6ffa5d1c428fefeae7d313cf4a669c3a1e98.1663873255.git.christophe.jaillet@wanadoo.fr Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
c940636d9c
commit
71704c2e1b
@@ -849,7 +849,7 @@ static int wmt_mci_probe(struct platform_device *pdev)
|
|||||||
if (IS_ERR(priv->clk_sdmmc)) {
|
if (IS_ERR(priv->clk_sdmmc)) {
|
||||||
dev_err(&pdev->dev, "Error getting clock\n");
|
dev_err(&pdev->dev, "Error getting clock\n");
|
||||||
ret = PTR_ERR(priv->clk_sdmmc);
|
ret = PTR_ERR(priv->clk_sdmmc);
|
||||||
goto fail5;
|
goto fail5_and_a_half;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = clk_prepare_enable(priv->clk_sdmmc);
|
ret = clk_prepare_enable(priv->clk_sdmmc);
|
||||||
@@ -866,6 +866,9 @@ static int wmt_mci_probe(struct platform_device *pdev)
|
|||||||
return 0;
|
return 0;
|
||||||
fail6:
|
fail6:
|
||||||
clk_put(priv->clk_sdmmc);
|
clk_put(priv->clk_sdmmc);
|
||||||
|
fail5_and_a_half:
|
||||||
|
dma_free_coherent(&pdev->dev, mmc->max_blk_count * 16,
|
||||||
|
priv->dma_desc_buffer, priv->dma_desc_device_addr);
|
||||||
fail5:
|
fail5:
|
||||||
free_irq(dma_irq, priv);
|
free_irq(dma_irq, priv);
|
||||||
fail4:
|
fail4:
|
||||||
|
|||||||
Reference in New Issue
Block a user