summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTony Lin <tony.lin@freescale.com>2011-08-30 16:57:40 +0800
committerTony Lin <tony.lin@freescale.com>2011-08-30 19:04:53 +0800
commitdd9cafafb00985754dc42b306dd76ce2d6ab4775 (patch)
treea32e00af2b1253891dd91222af23cb6dba063247
parent0db94f4ca3eb826ae64331942190dd4e9b1de4b3 (diff)
ENGR00155574 [eSDHC]fix sdio irq enable bug
a counter used in sdhci_enable_sdio_irq function is not correct. calling the function with enable flag will skip enabling the irq if it follows two continuous calls with disable flag because of the counter. to resolve this problem, simply set the counter to 1 or 0 instead of counting. this bug is reported by a customer. Signed-off-by: Tony Lin <tony.lin@freescale.com>
-rw-r--r--drivers/mmc/host/mx_sdhci.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/drivers/mmc/host/mx_sdhci.c b/drivers/mmc/host/mx_sdhci.c
index 5c8ae5a7e467..6b3ce8d5f92a 100644
--- a/drivers/mmc/host/mx_sdhci.c
+++ b/drivers/mmc/host/mx_sdhci.c
@@ -1247,13 +1247,7 @@ static void sdhci_enable_sdio_irq(struct mmc_host *mmc, int enable)
spin_lock_irqsave(&host->lock, flags);
- if (enable) {
- if (host->sdio_enable++)
- goto exit_unlock;
- } else {
- if (--(host->sdio_enable))
- goto exit_unlock;
- }
+ host->sdio_enable = enable;
ier = readl(host->ioaddr + SDHCI_INT_ENABLE);
prot = readl(host->ioaddr + SDHCI_HOST_CONTROL);