Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

mmc: sdhci-msm: Use maximum possible data timeout value

The Qcom SD controller defines the usage of 0xF in data
timeout counter register (0x2E) which is actually a reserved
bit as per specification. This would result in maximum of 21.26 secs
timeout value.

Some SDcard taking more time than 2.67secs (timeout value corresponding
to 0xE) and with that observed data timeout errors.
So increasing the timeout value to max possible timeout.

Signed-off-by: Sahitya Tummala <stummala@codeaurora.org>
Signed-off-by: Sarthak Garg <sartgarg@codeaurora.org>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Link: https://lore.kernel.org/r/1628232901-30897-3-git-send-email-sartgarg@codeaurora.org
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>

authored by

Sahitya Tummala and committed by
Ulf Hansson
ed78a03d e30314f2

+3
+3
drivers/mmc/host/sdhci-msm.c
··· 2714 2714 2715 2715 msm_host->mmc->caps |= MMC_CAP_WAIT_WHILE_BUSY | MMC_CAP_NEED_RSP_BUSY; 2716 2716 2717 + /* Set the timeout value to max possible */ 2718 + host->max_timeout_count = 0xF; 2719 + 2717 2720 pm_runtime_get_noresume(&pdev->dev); 2718 2721 pm_runtime_set_active(&pdev->dev); 2719 2722 pm_runtime_enable(&pdev->dev);