mmc: Add MMC_QUIRK_ERASE_BROKEN for some cards
authorPhil Elwell <phil@raspberrypi.org>
Wed, 11 May 2016 11:50:33 +0000 (12:50 +0100)
committerRaspbian kernel package updater <root@raspbian.org>
Sun, 23 Jul 2017 02:18:43 +0000 (02:18 +0000)
commit99ae4a075c7dbcd50aa5343b9cec123fd2923298
tree1b1d1fb036886490257f547972791a51a5dc992f
parentdd7a1e4a0851c2174d12b51e1ac33500db4a2d8b
mmc: Add MMC_QUIRK_ERASE_BROKEN for some cards

Some SD cards have been found that corrupt data when small blocks
are erased. Add a quirk to indicate that ERASE should not be used,
and set it for cards of that type.

Signed-off-by: Phil Elwell <phil@raspberrypi.org>
mmc: Apply QUIRK_BROKEN_ERASE to other capacities

Signed-off-by: Phil Elwell <phil@raspberrypi.org>
mmc: Add card_quirks module parameter, log quirks

Use mmc_block.card_quirks to override the quirks for all SD or MMC
cards. The value is a bitfield using the bit positions defined in
include/linux/mmc/card.h. If the module parameter is placed in the
kernel command line (or bootargs) stored on the card then, assuming the
device only has one SD card interface, the override effectively becomes
card-specific.

Signed-off-by: Phil Elwell <phil@raspberrypi.org>
drivers/mmc/card/block.c
drivers/mmc/core/core.c
include/linux/mmc/card.h