diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2012-09-28 14:49:45 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2012-09-29 12:55:07 +0200 |
commit | 4062e094dbeb19e3f68b1406e6bd4ba4207ce288 (patch) | |
tree | 016fa9d42abb6c31f8bc6b9cc42b26f9d1058ee5 | |
parent | b987b18435b2895279678f5dc816e36a1f2fe3c8 (diff) | |
download | barebox-4062e094dbeb19e3f68b1406e6bd4ba4207ce288.tar.gz barebox-4062e094dbeb19e3f68b1406e6bd4ba4207ce288.tar.xz |
mci imx-esdhc: increase write timeout
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@pengutronix.de>
-rw-r--r-- | drivers/mci/imx-esdhc.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/mci/imx-esdhc.c b/drivers/mci/imx-esdhc.c index 585cab9e54..62769fd5fe 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(®s->irqstat, -1); /* Wait for the bus to be idle */ - ret = wait_on_timeout(100 * MSECOND, + ret = wait_on_timeout(SECOND, !(esdhc_read32(®s->prsstat) & (PRSSTAT_CICHB | PRSSTAT_CIDHB))); if (ret) { |