summaryrefslogtreecommitdiffstats
path: root/target/linux/xburst/patches-3.10/005-MMC-JZ4740-Fix-handling-of-read-errors.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/xburst/patches-3.10/005-MMC-JZ4740-Fix-handling-of-read-errors.patch')
-rw-r--r--target/linux/xburst/patches-3.10/005-MMC-JZ4740-Fix-handling-of-read-errors.patch35
1 files changed, 35 insertions, 0 deletions
diff --git a/target/linux/xburst/patches-3.10/005-MMC-JZ4740-Fix-handling-of-read-errors.patch b/target/linux/xburst/patches-3.10/005-MMC-JZ4740-Fix-handling-of-read-errors.patch
new file mode 100644
index 0000000000..aef88f0c99
--- /dev/null
+++ b/target/linux/xburst/patches-3.10/005-MMC-JZ4740-Fix-handling-of-read-errors.patch
@@ -0,0 +1,35 @@
+From 81d112d6c0e16fd0136ce2c5f511ba81ed1f23d2 Mon Sep 17 00:00:00 2001
+From: Paul Cercueil <paul@crapouillou.net>
+Date: Sun, 3 Jun 2012 13:07:19 +0200
+Subject: [PATCH 05/16] MMC: JZ4740: Fix handling of read errors.
+
+For no reason, the code handling write errors was implemented while
+the code handling read errors was missing.
+
+Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
+---
+ drivers/mmc/host/jz4740_mmc.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/drivers/mmc/host/jz4740_mmc.c b/drivers/mmc/host/jz4740_mmc.c
+index 5a6ac99..ffe1181 100644
+--- a/drivers/mmc/host/jz4740_mmc.c
++++ b/drivers/mmc/host/jz4740_mmc.c
+@@ -231,6 +231,14 @@ static void jz4740_mmc_transfer_check_state(struct jz4740_mmc_host *host,
+ host->req->cmd->error = -EIO;
+ data->error = -EIO;
+ }
++ } else if (status & JZ_MMC_STATUS_READ_ERROR_MASK) {
++ if (status & (JZ_MMC_STATUS_TIMEOUT_READ)) {
++ host->req->cmd->error = -ETIMEDOUT;
++ data->error = -ETIMEDOUT;
++ } else {
++ host->req->cmd->error = -EIO;
++ data->error = -EIO;
++ }
+ }
+ }
+
+--
+1.7.10.4
+