summaryrefslogtreecommitdiff
path: root/drivers/mmc
diff options
context:
space:
mode:
authorRyan QIAN <b32804@freescale.com>2012-11-28 07:54:32 +0800
committerRyan QIAN <b32804@freescale.com>2012-11-28 13:11:20 +0800
commit21d674e56156b35e80e936f2fcf945e62025f706 (patch)
treefa5a67f4e88946ded4564c4331aa9c988ca2b99b /drivers/mmc
parent01539e3aa09e7203a451d567de7cedc4794453ff (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>
Diffstat (limited to 'drivers/mmc')
-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;