mmc: core: remove shutdown handler

If mmc/sd shutdown callback suspends the card when card's runtime PM status
is still set to "runtime active" then any request issued after mmc/sd
shutdown will not resume the card hence we will end up issuing the request
to host driver while card isn't in a state to handle it.

Right way to fix this issue is not to allow any requests to flow in after
the shutdown callback has executed. Until it is fixed in the right way, we
are disabling the shutdown handling as it anyways doesn't do real useful
things.

Change-Id: I44681f3c2fd0435bffa393abbbd1e8eacc5a07da
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
[subhashj@codeaurora.org: fixed trivial merge conflicts]
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
This commit is contained in:
Subhash Jadavani 2015-08-07 20:21:20 -07:00
parent 94fe36b713
commit 8f39568c53
2 changed files with 0 additions and 23 deletions

View file

@ -2485,27 +2485,6 @@ out:
return err; return err;
} }
/*
* Shutdown callback
*/
static int mmc_shutdown(struct mmc_host *host)
{
int err = 0;
/*
* In a specific case for poweroff notify, we need to resume the card
* before we can shutdown it properly.
*/
if (mmc_can_poweroff_notify(host->card) &&
!(host->caps2 & MMC_CAP2_FULL_PWR_CYCLE))
err = _mmc_resume(host);
if (!err)
err = _mmc_suspend(host, false);
return err;
}
/* /*
* Callback for resume. * Callback for resume.
*/ */
@ -2673,7 +2652,6 @@ static const struct mmc_bus_ops mmc_ops = {
.runtime_resume = mmc_runtime_resume, .runtime_resume = mmc_runtime_resume,
.runtime_idle = mmc_runtime_idle, .runtime_idle = mmc_runtime_idle,
.alive = mmc_alive, .alive = mmc_alive,
.shutdown = mmc_shutdown,
.change_bus_speed = mmc_change_bus_speed, .change_bus_speed = mmc_change_bus_speed,
.reset = mmc_reset, .reset = mmc_reset,
}; };

View file

@ -1348,7 +1348,6 @@ static const struct mmc_bus_ops mmc_sd_ops = {
.suspend = mmc_sd_suspend, .suspend = mmc_sd_suspend,
.resume = mmc_sd_resume, .resume = mmc_sd_resume,
.alive = mmc_sd_alive, .alive = mmc_sd_alive,
.shutdown = mmc_sd_suspend,
.change_bus_speed = mmc_sd_change_bus_speed, .change_bus_speed = mmc_sd_change_bus_speed,
.reset = mmc_sd_reset, .reset = mmc_sd_reset,
}; };