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, 8 Oct 2017 00:59:45 +0000 (00:59 +0000)
commit1fb32915e3e92ffe2ddb7bd6bcc26463c0019f97
tree4c54c7606283d862d07f21df6f47451209d3b3e0
parent1e6e47aee009ac44a772190f13e61d9e331a8880
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