|
@@ -2389,6 +2389,7 @@ force_ro_fail:
|
|
#define CID_MANFID_TOSHIBA 0x11
|
|
#define CID_MANFID_TOSHIBA 0x11
|
|
#define CID_MANFID_MICRON 0x13
|
|
#define CID_MANFID_MICRON 0x13
|
|
#define CID_MANFID_SAMSUNG 0x15
|
|
#define CID_MANFID_SAMSUNG 0x15
|
|
|
|
+#define CID_MANFID_KINGSTON 0x70
|
|
|
|
|
|
static const struct mmc_fixup blk_fixups[] =
|
|
static const struct mmc_fixup blk_fixups[] =
|
|
{
|
|
{
|
|
@@ -2451,6 +2452,15 @@ static const struct mmc_fixup blk_fixups[] =
|
|
MMC_FIXUP("VZL00M", CID_MANFID_SAMSUNG, CID_OEMID_ANY, add_quirk_mmc,
|
|
MMC_FIXUP("VZL00M", CID_MANFID_SAMSUNG, CID_OEMID_ANY, add_quirk_mmc,
|
|
MMC_QUIRK_SEC_ERASE_TRIM_BROKEN),
|
|
MMC_QUIRK_SEC_ERASE_TRIM_BROKEN),
|
|
|
|
|
|
|
|
+ /*
|
|
|
|
+ * On Some Kingston eMMCs, performing trim can result in
|
|
|
|
+ * unrecoverable data conrruption occasionally due to a firmware bug.
|
|
|
|
+ */
|
|
|
|
+ MMC_FIXUP("V10008", CID_MANFID_KINGSTON, CID_OEMID_ANY, add_quirk_mmc,
|
|
|
|
+ MMC_QUIRK_TRIM_BROKEN),
|
|
|
|
+ MMC_FIXUP("V10016", CID_MANFID_KINGSTON, CID_OEMID_ANY, add_quirk_mmc,
|
|
|
|
+ MMC_QUIRK_TRIM_BROKEN),
|
|
|
|
+
|
|
END_FIXUP
|
|
END_FIXUP
|
|
};
|
|
};
|
|
|
|
|