mmc: tmio: Use common error handling code in tmio_mmc_host_probe()
* Add a jump target so that a bit of exception handling can be better reused at the end of this function. * Adjust condition checks. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@users.sourceforge.net> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
This commit is contained in:
Родитель
2ee4f62005
Коммит
7f8e446b03
|
@ -1302,23 +1302,24 @@ int tmio_mmc_host_probe(struct tmio_mmc_host *_host,
|
||||||
pm_runtime_enable(&pdev->dev);
|
pm_runtime_enable(&pdev->dev);
|
||||||
|
|
||||||
ret = mmc_add_host(mmc);
|
ret = mmc_add_host(mmc);
|
||||||
if (ret < 0) {
|
if (ret)
|
||||||
tmio_mmc_host_remove(_host);
|
goto remove_host;
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
dev_pm_qos_expose_latency_limit(&pdev->dev, 100);
|
dev_pm_qos_expose_latency_limit(&pdev->dev, 100);
|
||||||
|
|
||||||
if (pdata->flags & TMIO_MMC_USE_GPIO_CD) {
|
if (pdata->flags & TMIO_MMC_USE_GPIO_CD) {
|
||||||
ret = mmc_gpio_request_cd(mmc, pdata->cd_gpio, 0);
|
ret = mmc_gpio_request_cd(mmc, pdata->cd_gpio, 0);
|
||||||
if (ret < 0) {
|
if (ret)
|
||||||
tmio_mmc_host_remove(_host);
|
goto remove_host;
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
mmc_gpiod_request_cd_irq(mmc);
|
mmc_gpiod_request_cd_irq(mmc);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
remove_host:
|
||||||
|
tmio_mmc_host_remove(_host);
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(tmio_mmc_host_probe);
|
EXPORT_SYMBOL_GPL(tmio_mmc_host_probe);
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче