From 6c134c01a25fa8dbb871e03060059f85cdbf097a Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Fri, 18 Oct 2024 16:01:28 +0100 Subject: [PATCH] mmc: quirks: add MMC_QUIRK_BROKEN_ERASE for Phison/Integral cards Recent Integral cards end up with corrupt sectors after a flash erase. This covers sizes for the A2 range, which can't be differentiated from the A1 range which might not have the same issue. Signed-off-by: Jonathan Bell --- drivers/mmc/core/quirks.h | 9 +++++++++ 1 file changed, 9 insertions(+) --- a/drivers/mmc/core/quirks.h +++ b/drivers/mmc/core/quirks.h @@ -181,6 +181,15 @@ static const struct mmc_fixup __maybe_un MMC_FIXUP("M62704", CID_MANFID_KINGSTON, 0x0100, add_quirk_mmc, MMC_QUIRK_TRIM_BROKEN), + /* + * Larger Integral SD cards using rebranded Phison controllers trash + * nearby flash blocks after erases. + */ + MMC_FIXUP("SD64G", 0x27, 0x5048, add_quirk, MMC_QUIRK_ERASE_BROKEN), + MMC_FIXUP("SD128", 0x27, 0x5048, add_quirk, MMC_QUIRK_ERASE_BROKEN), + MMC_FIXUP("SD256", 0x27, 0x5048, add_quirk, MMC_QUIRK_ERASE_BROKEN), + MMC_FIXUP("SD512", 0x27, 0x5048, add_quirk, MMC_QUIRK_ERASE_BROKEN), + END_FIXUP };