|
@@ -1139,11 +1139,13 @@ out:
|
|
|
*/
|
|
|
static int mmc_sd_resume(struct mmc_host *host)
|
|
|
{
|
|
|
- int err;
|
|
|
+ int err = 0;
|
|
|
|
|
|
- err = _mmc_sd_resume(host);
|
|
|
- pm_runtime_set_active(&host->card->dev);
|
|
|
- pm_runtime_mark_last_busy(&host->card->dev);
|
|
|
+ if (!(host->caps & MMC_CAP_RUNTIME_RESUME)) {
|
|
|
+ err = _mmc_sd_resume(host);
|
|
|
+ pm_runtime_set_active(&host->card->dev);
|
|
|
+ pm_runtime_mark_last_busy(&host->card->dev);
|
|
|
+ }
|
|
|
pm_runtime_enable(&host->card->dev);
|
|
|
|
|
|
return err;
|
|
@@ -1174,7 +1176,7 @@ static int mmc_sd_runtime_resume(struct mmc_host *host)
|
|
|
{
|
|
|
int err;
|
|
|
|
|
|
- if (!(host->caps & MMC_CAP_AGGRESSIVE_PM))
|
|
|
+ if (!(host->caps & (MMC_CAP_AGGRESSIVE_PM | MMC_CAP_RUNTIME_RESUME)))
|
|
|
return 0;
|
|
|
|
|
|
err = _mmc_sd_resume(host);
|