On 2025/5/19 20:33, Wentao Liang wrote:
The dhci_sprd_runtime_suspend() calls sdhci_runtime_suspend_host() but does not handle the return value. A proper implementation can be found in sdhci_am654_runtime_suspend().
Add error handling for sdhci_runtime_suspend_host(). Return the error code if the suspend fails.
Fixes: fb8bd90f83c4 ("mmc: sdhci-sprd: Add Spreadtrum's initial host controller") Cc: stable@vger.kernel.org # v4.20 Signed-off-by: Wentao Liang vulab@iscas.ac.cn
LGTM. Reviewed-by: Baolin Wang baolin.wang@linux.alibaba.com
drivers/mmc/host/sdhci-sprd.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/mmc/host/sdhci-sprd.c b/drivers/mmc/host/sdhci-sprd.c index db5e253b0f79..dd41427e973a 100644 --- a/drivers/mmc/host/sdhci-sprd.c +++ b/drivers/mmc/host/sdhci-sprd.c @@ -922,9 +922,12 @@ static int sdhci_sprd_runtime_suspend(struct device *dev) { struct sdhci_host *host = dev_get_drvdata(dev); struct sdhci_sprd_host *sprd_host = TO_SPRD_HOST(host);
- int ret;
mmc_hsq_suspend(host->mmc);
- sdhci_runtime_suspend_host(host);
- ret = sdhci_runtime_suspend_host(host);
- if (ret)
return ret;
clk_disable_unprepare(sprd_host->clk_sdio); clk_disable_unprepare(sprd_host->clk_enable);