On Saturday 16 April 2011, Andrei Warkentin wrote: > @@ -982,6 +1016,26 @@ static const struct mmc_fixup blk_fixups[] = > MMC_FIXUP("SEM08G", 0x2, 0x100, add_quirk, MMC_QUIRK_INAND_CMD38), > MMC_FIXUP("SEM16G", 0x2, 0x100, add_quirk, MMC_QUIRK_INAND_CMD38), > MMC_FIXUP("SEM32G", 0x2, 0x100, add_quirk, MMC_QUIRK_INAND_CMD38), > + > + /* > + * Some MMC cards experience performance degradation with CMD23 > + * instead of CMD12-bounded multiblock transfers. For now we'll > + * white list what's good: > + * 1) Certain SanDisk eMMCs with the old MMCA manfid. > + * 2) All new SanDisk products. > + * > + * N.B. This doesn't affect SD cards. > + */ > + MMC_FIXUP(CID_NAME_ANY, CID_MANFID_ANY, CID_OEMID_ANY, add_quirk_mmc, > + MMC_QUIRK_BLK_NO_CMD23), > + MMC_FIXUP("SEM04G", 0x2, 0x100, remove_quirk_mmc, MMC_QUIRK_BLK_NO_CMD23), > + MMC_FIXUP("SEM08G", 0x2, 0x100, remove_quirk_mmc, MMC_QUIRK_BLK_NO_CMD23), > + MMC_FIXUP("SEM16G", 0x2, 0x100, remove_quirk_mmc, MMC_QUIRK_BLK_NO_CMD23), > + MMC_FIXUP("SEM32G", 0x2, 0x100, remove_quirk_mmc, MMC_QUIRK_BLK_NO_CMD23), > + MMC_FIXUP("SEM02G", 0x2, 0x100, remove_quirk_mmc, MMC_QUIRK_BLK_NO_CMD23), > + MMC_FIXUP(CID_NAME_ANY, 0x45, CID_OEMID_ANY, > + remove_quirk_mmc, MMC_QUIRK_BLK_NO_CMD23), > + > END_FIXUP > }; Shouldn't this better be a blacklist for known bad cards? As far as I can tell, we should always use CMD23 where possible. Arnd -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html