summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan QIAN <b32804@freescale.com>2012-11-28 07:54:32 +0800
committerJason Liu <r64343@freescale.com>2012-11-28 16:57:07 +0800
commit0d5a70234d936766e46d38372e12cdedb5cdff3f (patch)
treefa5a67f4e88946ded4564c4331aa9c988ca2b99b
parent3c7d2684054ee74a228a686496a27cd15e40fd7f (diff)
ENGR00234933 mmc: sdhci: invalid cd_gpio for always_present host controller
Issue: By default, cd_gpio is 0 for always presented host controller, which is a valid gpio. Then it will result to free_irq for 0 in esdhc_pltfm_exit for these always_present host controllers. Fix: Invalid cd_gpio if the controller is indicated to be always present. Acked-by: Dong Aisheng <b29396@freescale.com> Signed-off-by: Ryan QIAN <b32804@freescale.com>
-rw-r--r--drivers/mmc/host/sdhci-esdhc-imx.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c
index 59cc92ce7410..35fd825f4709 100644
--- a/drivers/mmc/host/sdhci-esdhc-imx.c
+++ b/drivers/mmc/host/sdhci-esdhc-imx.c
@@ -881,6 +881,8 @@ static int esdhc_pltfm_init(struct sdhci_host *host, struct sdhci_pltfm_data *pd
if (boarddata->always_present) {
/* remove BROKEN_CD to disable card polling */
host->quirks &= ~SDHCI_QUIRK_BROKEN_CARD_DETECTION;
+ /* if it is always present, invalid cd_gpio */
+ boarddata->cd_gpio = ARCH_NR_GPIOS + 1;
if (host->clk_mgr_en)
clk_disable(pltfm_host->clk);
return 0;