| From 2bd44dadd5bfb4135162322fd0b45a174d4ad5bf Mon Sep 17 00:00:00 2001 |
| From: Stefan Wahren <stefan.wahren@i2se.com> |
| Date: Sun, 23 Dec 2018 21:59:17 +0100 |
| Subject: mmc: sdhci-iproc: handle mmc_of_parse() errors during probe |
| |
| From: Stefan Wahren <stefan.wahren@i2se.com> |
| |
| commit 2bd44dadd5bfb4135162322fd0b45a174d4ad5bf upstream. |
| |
| We need to handle mmc_of_parse() errors during probe. |
| |
| This finally fixes the wifi regression on Raspberry Pi 3 series. |
| In error case the wifi chip was permanently in reset because of |
| the power sequence depending on the deferred probe of the GPIO expander. |
| |
| Fixes: b580c52d58d9 ("mmc: sdhci-iproc: add IPROC SDHCI driver") |
| Cc: stable@vger.kernel.org |
| Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> |
| Acked-by: Adrian Hunter <adrian.hunter@intel.com> |
| Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/mmc/host/sdhci-iproc.c | 5 ++++- |
| 1 file changed, 4 insertions(+), 1 deletion(-) |
| |
| --- a/drivers/mmc/host/sdhci-iproc.c |
| +++ b/drivers/mmc/host/sdhci-iproc.c |
| @@ -296,7 +296,10 @@ static int sdhci_iproc_probe(struct plat |
| |
| iproc_host->data = iproc_data; |
| |
| - mmc_of_parse(host->mmc); |
| + ret = mmc_of_parse(host->mmc); |
| + if (ret) |
| + goto err; |
| + |
| sdhci_get_property(pdev); |
| |
| host->mmc->caps |= iproc_host->data->mmc_caps; |