From bcc506fddcd118c238005d8983d6ed9e2ef7b18e Mon Sep 17 00:00:00 2001 From: lintao Date: Tue, 28 Oct 2014 08:47:12 +0800 Subject: [PATCH] mmc: remove useless pcl to udbg when routine card from mmc bus probe. When kernel booting for the first time, pcl may cause incorrect state for bus timing which cause detect failure from bus porbe, and been recoginzed well from driver probe. Check cd state, and avoid this action. . [ 5.112563] dwmmc_rockchip 10214000.rksdmmc: data_over interrupt timeout! [ 5.112704] mmc1: error -84 whilst initialising SD card ... [ 5.201691] mmc1: new high speed SDHC card at address 0007 [ 5.202583] mmcblk1: mmc1:0007 SD32G 29.3 GiB Tested-and-acked-by: heyun Signed-off-by: lintao --- drivers/mmc/host/rk_sdmmc.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/mmc/host/rk_sdmmc.c b/drivers/mmc/host/rk_sdmmc.c index 30b22095fd30..0733a1d87514 100755 --- a/drivers/mmc/host/rk_sdmmc.c +++ b/drivers/mmc/host/rk_sdmmc.c @@ -3332,9 +3332,10 @@ static void dw_mci_init_pinctrl(struct dw_mci *host) dev_warn(host->dev, "%s: No udbg pinctrl found!\n", mmc_hostname(host->mmc)); } else { - if (pinctrl_select_state(host->pinctrl, host->pins_udbg) < 0) - dev_err(host->dev, "%s: Udbg pinctrl setting failed!\n", - mmc_hostname(host->mmc)); + if (!dw_mci_get_cd(host->mmc)) + if (pinctrl_select_state(host->pinctrl, host->pins_udbg) < 0) + dev_err(host->dev, "%s: Udbg pinctrl setting failed!\n", + mmc_hostname(host->mmc)); } } } -- 2.34.1