mmc: mmci: De-assert reset on probe
authorLinus Walleij <linus.walleij@linaro.org>
Wed, 30 Jun 2021 10:24:08 +0000 (12:24 +0200)
committerUlf Hansson <ulf.hansson@linaro.org>
Tue, 24 Aug 2021 08:15:30 +0000 (10:15 +0200)
If we find a reset handle when probing the MMCI block,
make sure the reset is de-asserted. It could happen that
a hardware has reset asserted at boot.

Cc: Russell King <linux@armlinux.org.uk>
Cc: Yann Gautier <yann.gautier@foss.st.com>
Cc: Ludovic Barre <ludovic.barre@st.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Tested-by: Yann Gautier <yann.gautier@foss.st.com>
Link: https://lore.kernel.org/r/20210630102408.3543024-1-linus.walleij@linaro.org
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/mmci.c

index 984d350551567d1c7a299f76fd5b3739b7633ddd..3765e2f4ad98a87dc44a98da7b225a41ad767716 100644 (file)
@@ -2126,6 +2126,9 @@ static int mmci_probe(struct amba_device *dev,
                ret = PTR_ERR(host->rst);
                goto clk_disable;
        }
+       ret = reset_control_deassert(host->rst);
+       if (ret)
+               dev_err(mmc_dev(mmc), "failed to de-assert reset\n");
 
        /* Get regulators and the supported OCR mask */
        ret = mmc_regulator_get_supply(mmc);