[PATCH] mci imx-esdhc: increase write timeout

Sascha Hauer s.hauer at pengutronix.de
Fri Sep 28 10:02:10 EDT 2012


The timeout for wating for the bus to be idle is too short when the
card does internal garbage collection. This was triggered with filling
an SD card under Linux with /dev/urandom, then doing a saveenv under
barebox afterwards.
Linux has timeouts here up to 300ms. Use a second to be safe.

Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
 drivers/mci/imx-esdhc.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/mci/imx-esdhc.c b/drivers/mci/imx-esdhc.c
index 585cab9..62769fd 100644
--- a/drivers/mci/imx-esdhc.c
+++ b/drivers/mci/imx-esdhc.c
@@ -335,7 +335,7 @@ esdhc_send_cmd(struct mci_host *mci, struct mci_cmd *cmd, struct mci_data *data)
 	esdhc_write32(&regs->irqstat, -1);
 
 	/* Wait for the bus to be idle */
-	ret = wait_on_timeout(100 * MSECOND,
+	ret = wait_on_timeout(SECOND,
 			!(esdhc_read32(&regs->prsstat) &
 				(PRSSTAT_CICHB | PRSSTAT_CIDHB)));
 	if (ret) {
-- 
1.7.10.4




More information about the barebox mailing list