[U-Boot] [PATCH v2 4/4] mmc: sdhci: add the udelay for completed post-request

Jaehoon Chung jh80.chung at samsung.com
Fri Jul 27 04:33:31 CEST 2012


To ensure that complete the request, add udelay(100).
Also  increased the timeout value to 10000.
(Because timeout value is short, there is the case that didn't transfer data)

Signed-off-by: Jaehoon Chung <jh80.chung at samsung.com>
---
 drivers/mmc/sdhci.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/drivers/mmc/sdhci.c b/drivers/mmc/sdhci.c
index ac39e48..f71a14b 100644
--- a/drivers/mmc/sdhci.c
+++ b/drivers/mmc/sdhci.c
@@ -83,7 +83,7 @@ static int sdhci_transfer_data(struct sdhci_host *host, struct mmc_data *data,
 {
 	unsigned int stat, rdy, mask, timeout, block = 0;
 
-	timeout = 10000;
+	timeout = 100000;
 	rdy = SDHCI_INT_SPACE_AVAIL | SDHCI_INT_DATA_AVAIL;
 	mask = SDHCI_DATA_AVAILABLE | SDHCI_SPACE_AVAILABLE;
 	do {
@@ -239,6 +239,7 @@ int sdhci_send_command(struct mmc *mmc, struct mmc_cmd *cmd,
 		if ((host->quirks & SDHCI_QUIRK_32BIT_DMA_ADDR) &&
 				!is_aligned && (data->flags == MMC_DATA_READ))
 			memcpy(data->dest, aligned_buffer, trans_bytes);
+		udelay(100);
 		return 0;
 	}
 
-- 
1.7.4.1


More information about the U-Boot mailing list