Commit e5bce3c1 authored by Christophe JAILLET's avatar Christophe JAILLET Committed by Ulf Hansson
Browse files

mmc: sdhci-cadence: Fix an error handling path in sdhci_cdns_probe()



If devm_reset_control_get_optional_exclusive() fails, some resources still
need to be released. So branch to the error handling path instead of
returning directly.

Fixes: aad53d4e ("mmc: sdhci-cadence: Support mmc hardware reset")
Signed-off-by: default avatarChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Acked-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
Acked-by: default avatarBrad Larson <blarson@amd.com>
Link: https://lore.kernel.org/r/f61599a9ef23767c2d66e5af9c975f05ef1cec6b.1682430069.git.christophe.jaillet@wanadoo.fr


Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
parent 003fb0a5
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -540,9 +540,11 @@ static int sdhci_cdns_probe(struct platform_device *pdev)

	if (host->mmc->caps & MMC_CAP_HW_RESET) {
		priv->rst_hw = devm_reset_control_get_optional_exclusive(dev, NULL);
		if (IS_ERR(priv->rst_hw))
			return dev_err_probe(mmc_dev(host->mmc), PTR_ERR(priv->rst_hw),
		if (IS_ERR(priv->rst_hw)) {
			ret = dev_err_probe(mmc_dev(host->mmc), PTR_ERR(priv->rst_hw),
					    "reset controller error\n");
			goto free;
		}
		if (priv->rst_hw)
			host->mmc_host_ops.card_hw_reset = sdhci_cdns_mmc_hw_reset;
	}