From: Yangbo Lu Date: Fri, 10 Jul 2015 03:44:03 +0000 (+0800) Subject: mmc: block: add fixup of broken CMD23 for Sandisk card X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=7d70d476d0112b44bf93747934ff089c50549e6d;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git mmc: block: add fixup of broken CMD23 for Sandisk card Some Sandisk cards(such as "SDMB-32" and "SDM032" cards) can't support CMD23, and would generate CMD timeout. So add FIX-UP for these two types Sandisk cards. Error log: mmcblk0: timed out sending SET_BLOCK_COUNT command, card status 0x400900 mmcblk0: timed out sending SET_BLOCK_COUNT command, card status 0x400900 mmcblk0: timed out sending SET_BLOCK_COUNT command, card status 0x400900 end_request: I/O error, dev mmcblk0, sector 0 Buffer I/O error on device mmcblk0, logical block 0 mmcblk0: timed out sending SET_BLOCK_COUNT command, card status 0x400900 Signed-off-by: Yangbo Lu Signed-off-by: Ulf Hansson --- diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c index 50b89abc8428..a58287e574cc 100644 --- a/drivers/mmc/card/block.c +++ b/drivers/mmc/card/block.c @@ -2411,6 +2411,10 @@ static const struct mmc_fixup blk_fixups[] = * * N.B. This doesn't affect SD cards. */ + MMC_FIXUP("SDMB-32", CID_MANFID_SANDISK, CID_OEMID_ANY, add_quirk_mmc, + MMC_QUIRK_BLK_NO_CMD23), + MMC_FIXUP("SDM032", CID_MANFID_SANDISK, CID_OEMID_ANY, add_quirk_mmc, + MMC_QUIRK_BLK_NO_CMD23), MMC_FIXUP("MMC08G", CID_MANFID_TOSHIBA, CID_OEMID_ANY, add_quirk_mmc, MMC_QUIRK_BLK_NO_CMD23), MMC_FIXUP("MMC16G", CID_MANFID_TOSHIBA, CID_OEMID_ANY, add_quirk_mmc,