summaryrefslogtreecommitdiff
path: root/drivers/mmc/core
diff options
context:
space:
mode:
authorTalel Shenhar <tatias@codeaurora.org>2015-02-10 13:10:12 +0200
committerSubhash Jadavani <subhashj@codeaurora.org>2016-05-31 15:26:09 -0700
commit4f32644877e95bbd76894683fced2ef601a76eae (patch)
tree880aa9e57c606825e1adda4f8b86e3fb6afa6e01 /drivers/mmc/core
parent011fb838d71aa00cc18a3254524885286e7489c6 (diff)
mmc: quirks: add support for quirks based on EXT_CSD_REV
This change allows the usage of quirks based on the register value of EXT_CSD_REV. It was seen for several eMMC cards that same issues, such as data corruption while using cache, were relevant for all eMMC cards having the same EXT_CSD_REV value. This change allows us to distinguish between cards based on this register. Change-Id: I1663891c367a59b520bc505641c6c4ddad56fd1a Signed-off-by: Talel Shenhar <tatias@codeaurora.org>
Diffstat (limited to 'drivers/mmc/core')
-rw-r--r--drivers/mmc/core/quirks.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/mmc/core/quirks.c b/drivers/mmc/core/quirks.c
index 562957a37704..1fb9fe1838c7 100644
--- a/drivers/mmc/core/quirks.c
+++ b/drivers/mmc/core/quirks.c
@@ -129,6 +129,8 @@ void mmc_fixup_device(struct mmc_card *card, const struct mmc_fixup *table)
(f->name == CID_NAME_ANY ||
!strncmp(f->name, card->cid.prod_name,
sizeof(card->cid.prod_name))) &&
+ (f->ext_csd_rev == EXT_CSD_REV_ANY ||
+ f->ext_csd_rev == card->ext_csd.rev) &&
(f->cis_vendor == card->cis.vendor ||
f->cis_vendor == (u16) SDIO_ANY_ID) &&
(f->cis_device == card->cis.device ||