diff options
Diffstat (limited to 'target/linux/brcm2708/patches-3.10/0076-sdhci-bcm2807-Increase-sync_after_dma-timeout.patch')
-rw-r--r-- | target/linux/brcm2708/patches-3.10/0076-sdhci-bcm2807-Increase-sync_after_dma-timeout.patch | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/target/linux/brcm2708/patches-3.10/0076-sdhci-bcm2807-Increase-sync_after_dma-timeout.patch b/target/linux/brcm2708/patches-3.10/0076-sdhci-bcm2807-Increase-sync_after_dma-timeout.patch new file mode 100644 index 0000000000..41dce9d265 --- /dev/null +++ b/target/linux/brcm2708/patches-3.10/0076-sdhci-bcm2807-Increase-sync_after_dma-timeout.patch @@ -0,0 +1,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) |