projects
/
platform
/
kernel
/
linux-rpi.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
4c7681c
)
mmc: sdhci-sprd: Fix no reset data and command after voltage switch
author
Wenchao Chen
<wenchao.chen@unisoc.com>
Wed, 30 Nov 2022 12:13:28 +0000
(20:13 +0800)
committer
Greg Kroah-Hartman
<gregkh@linuxfoundation.org>
Thu, 8 Dec 2022 10:28:42 +0000
(11:28 +0100)
commit
dd30dcfa7a74a06f8dcdab260d8d5adf32f17333
upstream.
After switching the voltage, no reset data and command will cause
CMD2 timeout.
Fixes:
29ca763fc26f
("mmc: sdhci-sprd: Add pin control support for voltage switch")
Signed-off-by: Wenchao Chen <wenchao.chen@unisoc.com>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Reviewed-by: Baolin Wang <baolin.wang@linux.alibaba.com>
Cc: stable@vger.kernel.org
Link:
https://lore.kernel.org/r/20221130121328.25553-1-wenchao.chen@unisoc.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/mmc/host/sdhci-sprd.c
patch
|
blob
|
history
diff --git
a/drivers/mmc/host/sdhci-sprd.c
b/drivers/mmc/host/sdhci-sprd.c
index
f5c5190
..
e85c95f
100644
(file)
--- a/
drivers/mmc/host/sdhci-sprd.c
+++ b/
drivers/mmc/host/sdhci-sprd.c
@@
-457,7
+457,7
@@
static int sdhci_sprd_voltage_switch(struct mmc_host *mmc, struct mmc_ios *ios)
}
if (IS_ERR(sprd_host->pinctrl))
-
return 0
;
+
goto reset
;
switch (ios->signal_voltage) {
case MMC_SIGNAL_VOLTAGE_180:
@@
-485,6
+485,8
@@
static int sdhci_sprd_voltage_switch(struct mmc_host *mmc, struct mmc_ios *ios)
/* Wait for 300 ~ 500 us for pin state stable */
usleep_range(300, 500);
+
+reset:
sdhci_reset(host, SDHCI_RESET_CMD | SDHCI_RESET_DATA);
return 0;