drivers/mmc/host/sdhci-omap.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
The sdhci_omap_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: f433e8aac6b9 ("mmc: sdhci-omap: Implement PM runtime functions")
Cc: stable@vger.kernel.org # v5.16
Signed-off-by: Wentao Liang <vulab@iscas.ac.cn>
---
drivers/mmc/host/sdhci-omap.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/mmc/host/sdhci-omap.c b/drivers/mmc/host/sdhci-omap.c
index 54d795205fb4..69b2e4e5cb20 100644
--- a/drivers/mmc/host/sdhci-omap.c
+++ b/drivers/mmc/host/sdhci-omap.c
@@ -1438,6 +1438,7 @@ static int __maybe_unused sdhci_omap_runtime_suspend(struct device *dev)
struct sdhci_host *host = dev_get_drvdata(dev);
struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
struct sdhci_omap_host *omap_host = sdhci_pltfm_priv(pltfm_host);
+ int ret;
if (host->tuning_mode != SDHCI_TUNING_MODE_3)
mmc_retune_needed(host->mmc);
@@ -1445,7 +1446,9 @@ static int __maybe_unused sdhci_omap_runtime_suspend(struct device *dev)
if (omap_host->con != -EINVAL)
sdhci_runtime_suspend_host(host);
- sdhci_omap_context_save(omap_host);
+ ret = sdhci_omap_context_save(omap_host);
+ if (ret)
+ return ret;
pinctrl_pm_select_idle_state(dev);
--
2.42.0.windows.2
Hi Wentao,
kernel test robot noticed the following build errors:
[auto build test ERROR on linus/master]
[also build test ERROR on v6.15-rc7 next-20250516]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Wentao-Liang/mmc-sdhci-omap-Add-error-handling-for-sdhci_runtime_suspend_host/20250519-205341
base: linus/master
patch link: https://lore.kernel.org/r/20250519125143.2331-1-vulab%40iscas.ac.cn
patch subject: [PATCH] mmc: sdhci-omap: Add error handling for sdhci_runtime_suspend_host()
config: sparc-randconfig-001-20250520 (https://download.01.org/0day-ci/archive/20250520/202505200727.1k4LfYCQ-lkp@intel.com/config)
compiler: sparc-linux-gcc (GCC) 8.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250520/202505200727.1k4LfYCQ-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202505200727.1k4LfYCQ-lkp@intel.com/
All errors (new ones prefixed by >>):
drivers/mmc/host/sdhci-omap.c: In function 'sdhci_omap_runtime_suspend':
>> drivers/mmc/host/sdhci-omap.c:1449:6: error: void value not ignored as it ought to be
ret = sdhci_omap_context_save(omap_host);
^
vim +1449 drivers/mmc/host/sdhci-omap.c
1435
1436 static int __maybe_unused sdhci_omap_runtime_suspend(struct device *dev)
1437 {
1438 struct sdhci_host *host = dev_get_drvdata(dev);
1439 struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
1440 struct sdhci_omap_host *omap_host = sdhci_pltfm_priv(pltfm_host);
1441 int ret;
1442
1443 if (host->tuning_mode != SDHCI_TUNING_MODE_3)
1444 mmc_retune_needed(host->mmc);
1445
1446 if (omap_host->con != -EINVAL)
1447 sdhci_runtime_suspend_host(host);
1448
> 1449 ret = sdhci_omap_context_save(omap_host);
1450 if (ret)
1451 return ret;
1452
1453 pinctrl_pm_select_idle_state(dev);
1454
1455 return 0;
1456 }
1457
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
© 2016 - 2025 Red Hat, Inc.