aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm2708/patches-3.18/0059-mmc-Disable-CMD23-transfers-on-all-cards.patch
blob: 7e04d71f60dbf6dd791b152fc83c0816a928c13a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
From 06c752756a452a0c59447836edce57ef7393be5c Mon Sep 17 00:00:00 2001
From: P33M <P33M@github.com>
Date: Tue, 13 Jan 2015 17:12:18 +0000
Subject: [PATCH 059/114] mmc: Disable CMD23 transfers on all cards

Pending wire-level investigation of these types of transfers
and associated errors on bcm2835-mmc, disable for now. Fallback of
CMD18/CMD25 transfers will be used automatically by the MMC layer.

Reported/Tested-by: Gellert Weisz <gellert@raspberrypi.org>
---
 drivers/mmc/core/quirks.c | 4 ++++
 1 file changed, 4 insertions(+)

--- a/drivers/mmc/core/quirks.c
+++ b/drivers/mmc/core/quirks.c
@@ -95,5 +95,9 @@ void mmc_fixup_device(struct mmc_card *c
 			f->vendor_fixup(card, f->data);
 		}
 	}
+	/* SDHCI on BCM2708 - bug causes a certain sequence of CMD23 operations to fail.
+	 * Disable this flag for all cards (fall-back to CMD25/CMD18 multi-block transfers).
+	 */
+	card->quirks |= MMC_QUIRK_BLK_NO_CMD23;
 }
 EXPORT_SYMBOL(mmc_fixup_device);