aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm2708/patches-3.10/0076-sdhci-bcm2807-Increase-sync_after_dma-timeout.patch
blob: 41dce9d265d25def3f255841b6e43fe8adabf9ab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
From a1cd8994c1f5d01f8932ad5d047677d6a264f711 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Wed, 10 Jul 2013 23:53:31 +0100
Subject: [PATCH 076/174] sdhci-bcm2807: Increase sync_after_dma timeout

The current timeout is being hit with some cards that complete successfully with a longer timeout.
The timeout is not handled well, and is believed to be a code path that causes corruption.
872a8ff suggests that crappy cards can take up to 3 seconds to respond
---
 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
@@ -842,7 +842,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=30*5000;
+			int timeout=3*1000*1000;
 
 			DBG("PDMA over - sync card\n");
 			if (data->flags & MMC_DATA_READ)