ba61b15ea157738eaa30ee9d5a433c8e7d5851a5
[openwrt/staging/blocktrron.git] /
1 From 527d6f5a7861e24c60d41e9706ec4589165321d1 Mon Sep 17 00:00:00 2001
2 From: Jonathan Bell <jonathan@raspberrypi.com>
3 Date: Fri, 18 Oct 2024 16:01:28 +0100
4 Subject: [PATCH 1336/1350] mmc: quirks: add MMC_QUIRK_BROKEN_ERASE for
5 Phison/Integral cards
6
7 Recent Integral cards end up with corrupt sectors after a flash erase.
8 This covers sizes for the A2 range, which can't be differentiated from
9 the A1 range which might not have the same issue.
10
11 Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
12 ---
13 drivers/mmc/core/quirks.h | 9 +++++++++
14 1 file changed, 9 insertions(+)
15
16 --- a/drivers/mmc/core/quirks.h
17 +++ b/drivers/mmc/core/quirks.h
18 @@ -162,6 +162,15 @@ static const struct mmc_fixup __maybe_un
19 MMC_FIXUP("SD32G", 0x41, 0x3432, add_quirk, MMC_QUIRK_ERASE_BROKEN),
20 MMC_FIXUP("SD64G", 0x41, 0x3432, add_quirk, MMC_QUIRK_ERASE_BROKEN),
21
22 + /*
23 + * Larger Integral SD cards using rebranded Phison controllers trash
24 + * nearby flash blocks after erases.
25 + */
26 + MMC_FIXUP("SD64G", 0x27, 0x5048, add_quirk, MMC_QUIRK_ERASE_BROKEN),
27 + MMC_FIXUP("SD128", 0x27, 0x5048, add_quirk, MMC_QUIRK_ERASE_BROKEN),
28 + MMC_FIXUP("SD256", 0x27, 0x5048, add_quirk, MMC_QUIRK_ERASE_BROKEN),
29 + MMC_FIXUP("SD512", 0x27, 0x5048, add_quirk, MMC_QUIRK_ERASE_BROKEN),
30 +
31 END_FIXUP
32 };
33