mmc: uniphier-sd: Fix an error handling path in uniphier_sd_probe()
A 'uniphier_sd_clk_enable()' call should be balanced by a corresponding
'uniphier_sd_clk_disable()' call.
This is done in the remove function, but not in the error handling path of
the probe.
Add the missing call.
Fixes: 3fd784f745
("mmc: uniphier-sd: add UniPhier SD/eMMC controller driver")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Reviewed-by: Masahiro Yamada <masahiroy@kernel.org>
Link: https://lore.kernel.org/r/20210220142935.918554-1-christophe.jaillet@wanadoo.fr
Cc: stable@vger.kernel.org
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
This commit is contained in:
Родитель
c29b84d6d5
Коммит
b03aec1c1f
|
@ -635,7 +635,7 @@ static int uniphier_sd_probe(struct platform_device *pdev)
|
||||||
|
|
||||||
ret = tmio_mmc_host_probe(host);
|
ret = tmio_mmc_host_probe(host);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto free_host;
|
goto disable_clk;
|
||||||
|
|
||||||
ret = devm_request_irq(dev, irq, tmio_mmc_irq, IRQF_SHARED,
|
ret = devm_request_irq(dev, irq, tmio_mmc_irq, IRQF_SHARED,
|
||||||
dev_name(dev), host);
|
dev_name(dev), host);
|
||||||
|
@ -646,6 +646,8 @@ static int uniphier_sd_probe(struct platform_device *pdev)
|
||||||
|
|
||||||
remove_host:
|
remove_host:
|
||||||
tmio_mmc_host_remove(host);
|
tmio_mmc_host_remove(host);
|
||||||
|
disable_clk:
|
||||||
|
uniphier_sd_clk_disable(host);
|
||||||
free_host:
|
free_host:
|
||||||
tmio_mmc_host_free(host);
|
tmio_mmc_host_free(host);
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче