@@ -1770,15 +1770,13 @@ static int omap_hsmmc_sleep_to_off(struct omap_hsmmc_host *host)
return 0;
if (mmc_slot(host).no_off)
- return 0;
+ goto out;
if (!((host->mmc->caps & MMC_CAP_NONREMOVABLE) ||
mmc_slot(host).card_detect ||
(mmc_slot(host).get_cover_state &&
- mmc_slot(host).get_cover_state(host->dev, host->slot_id)))) {
- mmc_release_host(host->mmc);
- return 0;
- }
+ mmc_slot(host).get_cover_state(host->dev, host->slot_id))))
+ goto out;
mmc_slot(host).set_power(host->dev, host->slot_id, 0, 0);
host->vdd = 0;
@@ -1788,7 +1786,7 @@ static int omap_hsmmc_sleep_to_off(struct omap_hsmmc_host *host)
host->dpm_state == CARDSLEEP ? "CARDSLEEP" : "REGSLEEP");
host->dpm_state = OFF;
-
+out:
mmc_release_host(host->mmc);
return 0;