diff options
-rw-r--r-- | drivers/mmc/core/core.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c index a2aa860956ef..22050525be84 100644 --- a/drivers/mmc/core/core.c +++ b/drivers/mmc/core/core.c | |||
@@ -2355,7 +2355,13 @@ int mmc_suspend_host(struct mmc_host *host) | |||
2355 | cancel_delayed_work(&host->disable); | 2355 | cancel_delayed_work(&host->disable); |
2356 | cancel_delayed_work(&host->detect); | 2356 | cancel_delayed_work(&host->detect); |
2357 | mmc_flush_scheduled_work(); | 2357 | mmc_flush_scheduled_work(); |
2358 | err = mmc_cache_ctrl(host, 0); | 2358 | if (mmc_try_claim_host(host)) { |
2359 | err = mmc_cache_ctrl(host, 0); | ||
2360 | mmc_do_release_host(host); | ||
2361 | } else { | ||
2362 | err = -EBUSY; | ||
2363 | } | ||
2364 | |||
2359 | if (err) | 2365 | if (err) |
2360 | goto out; | 2366 | goto out; |
2361 | 2367 | ||