mmc: wmt-sdmmc: Fix an error handling path in wmt_mci_probe()
[ Upstream commit cb58188ad90a61784a56a64f5107faaf2ad323e7 ]
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