From: Guennadi Liakhovetski Date: Wed, 16 Nov 2011 09:11:45 +0000 (+0100) Subject: mmc: tmio: fix clock gating on platforms with a .set_pwr() method X-Git-Tag: v3.2-rc6~25^2~2 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=f6b8b52c68f6109db4be02b55660258ff503fc3b;p=~emulex%2Finfiniband.git mmc: tmio: fix clock gating on platforms with a .set_pwr() method Do not power down the card in .set_ios(), unless MMC_POWER_OFF is requested. This fixes the SDHI functionality on ecovec. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Chris Ball --- diff --git a/drivers/mmc/host/tmio_mmc_pio.c b/drivers/mmc/host/tmio_mmc_pio.c index d85a60cda16..4208b395806 100644 --- a/drivers/mmc/host/tmio_mmc_pio.c +++ b/drivers/mmc/host/tmio_mmc_pio.c @@ -798,7 +798,7 @@ static void tmio_mmc_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) /* start bus clock */ tmio_mmc_clk_start(host); } else if (ios->power_mode != MMC_POWER_UP) { - if (host->set_pwr) + if (host->set_pwr && ios->power_mode == MMC_POWER_OFF) host->set_pwr(host->pdev, 0); if ((pdata->flags & TMIO_MMC_HAS_COLD_CD) && pdata->power) {