aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm2708/patches-3.10/0017-sdhci-bcm2708-raise-DMA-sync-timeout.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm2708/patches-3.10/0017-sdhci-bcm2708-raise-DMA-sync-timeout.patch')
-rw-r--r--target/linux/brcm2708/patches-3.10/0017-sdhci-bcm2708-raise-DMA-sync-timeout.patch27
1 files changed, 27 insertions, 0 deletions
diff --git a/target/linux/brcm2708/patches-3.10/0017-sdhci-bcm2708-raise-DMA-sync-timeout.patch b/target/linux/brcm2708/patches-3.10/0017-sdhci-bcm2708-raise-DMA-sync-timeout.patch
new file mode 100644
index 0000000000..89f86facaf
--- /dev/null
+++ b/target/linux/brcm2708/patches-3.10/0017-sdhci-bcm2708-raise-DMA-sync-timeout.patch
@@ -0,0 +1,27 @@
+From a6544a62be8711e727a0d774b55c5edeec12e531 Mon Sep 17 00:00:00 2001
+From: popcornmix <popcornmix@gmail.com>
+Date: Sat, 16 Jun 2012 22:35:38 +0100
+Subject: [PATCH 017/174] sdhci-bcm2708: raise DMA sync timeout
+
+Commit d64b84c by accident reduced the maximum overall DMA sync
+timeout. The maximum overall timeout was reduced from 100ms to 30ms,
+which isn't enough for many cards. Increase it to 150ms, just to be
+extra safe. According to commit 872a8ff in the MMC subsystem, some
+cards require crazy long timeouts (3s), but as we're busy-waiting,
+and shouldn't delay for such a long time, let's hope 150ms will be
+enough for most cards.
+---
+ drivers/mmc/host/sdhci-bcm2708.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/mmc/host/sdhci-bcm2708.c
++++ b/drivers/mmc/host/sdhci-bcm2708.c
+@@ -830,7 +830,7 @@ static void sdhci_bcm2708_dma_complete_i
+ We get CRC and DEND errors unless we wait for
+ the SD controller to finish reading/writing to the card. */
+ u32 state_mask;
+- int timeout=1000;
++ int timeout=5000;
+
+ DBG("PDMA over - sync card\n");
+ if (data->flags & MMC_DATA_READ)