
On 20.07.20 03:21, Peng Fan wrote:
Hi Jan,
Subject: am654_sdhci: mmc fail to send stop cmd
Hi all,
on one device with one specific SD-card (possibly an aging one), I'm seeing frequent "mmc fail to send stop cmd" messages, followed by read errors when loading kernel and dtb. -ETIMEDOUT is returned by mmd_send_cmd. However, I can always resolve this by simply retrying the stop command like this:
diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c index f36d11ddc8..9019d9f2ed 100644 --- a/drivers/mmc/mmc.c +++ b/drivers/mmc/mmc.c @@ -406,7 +406,11 @@ static int mmc_read_blocks(struct mmc *mmc, void *dst, lbaint_t start, #if !defined(CONFIG_SPL_BUILD) || defined(CONFIG_SPL_LIBCOMMON_SUPPORT) pr_err("mmc fail to send stop cmd\n"); #endif
return 0;
pr_err("retrying...\n");
if (mmc_send_cmd(mmc, &cmd, NULL)) {
pr_err("failed again\n");
return 0;
} }}
Hardware is our IOT2050, baseline is today's master (1c4b5038afcc) with board-enabling and a bunch of patches from your tree [1]. However, already 4d6da10ce611 exposes the problem.
What could cause this?
Where the timeout happen in driver?
Did you try enlarge the timeout value?
Not sure yet where I could do that. The timeout is detected and reported by the hardware via SDHCI_INT_STATUS (= 0x18000 in case of an error).
Thanks, Jan
Regards, Peng.
Jan
[1] https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.
^^^^^^^^^
Welcome to the club. If you are on TB, I can recommend "Unmangle Outlook Safelinks" to get rid of this insecurity measure, at least on the client side.
com%2Fsiemens%2Fu-boot%2Fcommits%2Fjan%2Fiot2050&data=02%7 C01%7CPeng.Fan%40nxp.com%7Cda088100ee5a46cdc37008d82b29779f%7 C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C63730680439552710 6&sdata=oiS6nOxxAQykjMyTecz%2FTJY4OW8WiZ2CbszR2mBrXuI%3D& amp;reserved=0