xburst: Add 3.10 support
[openwrt/svn-archive/archive.git] / target / linux / xburst / patches-3.10 / 005-MMC-JZ4740-Fix-handling-of-read-errors.patch
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 (file)
index 0000000..aef88f0
--- /dev/null
@@ -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
+