diff options
author | Aisheng.Dong <b29396@freescale.com> | 2010-10-21 19:17:28 +0800 |
---|---|---|
committer | Alan Tull <alan.tull@freescale.com> | 2010-10-22 13:39:33 -0500 |
commit | f6aec74e8b64117b12e8dba19dd2641d0ba915f9 (patch) | |
tree | 0c1bbe5d2da27ea5bba33ed6aac6339d25f713c4 | |
parent | 51eb6d2533b6c326ca415212615850a835558269 (diff) |
ENGR00132849-2 esdhc: do not use spin_lock when set power on/off
Do not use spin_lock when sets power on/off since pmic driver may sleep
on this operation.
Signed-off-by: Aisheng.Dong <b29396@freescale.com>
-rw-r--r-- | drivers/mmc/host/mx_sdhci.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/mmc/host/mx_sdhci.c b/drivers/mmc/host/mx_sdhci.c index c522aa9c2d99..df31ac6aaee3 100644 --- a/drivers/mmc/host/mx_sdhci.c +++ b/drivers/mmc/host/mx_sdhci.c @@ -1025,6 +1025,7 @@ static void sdhci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) sdhci_set_clock(host, ios->clock); + spin_unlock_irqrestore(&host->lock, flags); if (ios->power_mode == MMC_POWER_OFF) sdhci_set_power(host, -1); else { @@ -1039,6 +1040,7 @@ static void sdhci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) } } + spin_lock_irqsave(&host->lock, flags); tmp = readl(host->ioaddr + SDHCI_HOST_CONTROL); if ((ios->bus_width & ~MMC_BUS_WIDTH_DDR) == MMC_BUS_WIDTH_4) { |