RE: [PATCH] Revert "mmc: core: Capture correct oemid-bits for eMMC cards"
From: Avri Altman
Date: Fri Nov 03 2023 - 02:40:52 EST
> From: Dominique Martinet <dominique.martinet@xxxxxxxxxxxxxxxxx>
>
> This reverts commit 84ee19bffc9306128cd0f1c650e89767079efeff.
>
> The commit above made quirks with an OEMID fail to be applied, as they
> were checking card->cid.oemid for the full 16 bits defined in MMC_FIXUP
> macros but the field would only contain the bottom 8 bits.
>
> eMMC v5.1A might have bogus values in OEMID's higher bits so another fix
> will be made, but it has been decided to revert this until that is ready.
>
> Fixes: 84ee19bffc93 ("mmc: core: Capture correct oemid-bits for eMMC
> cards")
> Link: https://lkml.kernel.org/r/ZToJsSLHr8RnuTHz@xxxxxxxxxxxxx
> Link:
> https://lkml.kernel.org/r/CAPDyKFqkKibcXnwjnhc3+W1iJBHLeqQ9BpcZrSwh
> W2u9K2oUtg@xxxxxxxxxxxxxx
> Signed-off-by: Dominique Martinet <dominique.martinet@atmark-
> techno.com>
> Cc: stable@xxxxxxxxxxxxxxx
> Cc: Avri Altman <avri.altman@xxxxxxx>
> Cc: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
> Cc: Alex Fetters <Alex.Fetters@xxxxxxxxxx>
Reviewed-by: Avri Altman <avri.altman@xxxxxxx>
> ---
> Here's the revert as discussed in "mmc: truncate quirks' oemid to 8 bits"'
> patch thread.
> Feel free to ignore if you already have something, I just checked your -next
> branch quickly and might have missed it.
>
> drivers/mmc/core/mmc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c index
> 4a4bab9aa726..89cd48fcec79 100644
> --- a/drivers/mmc/core/mmc.c
> +++ b/drivers/mmc/core/mmc.c
> @@ -104,7 +104,7 @@ static int mmc_decode_cid(struct mmc_card *card)
> case 3: /* MMC v3.1 - v3.3 */
> case 4: /* MMC v4 */
> card->cid.manfid = UNSTUFF_BITS(resp, 120, 8);
> - card->cid.oemid = UNSTUFF_BITS(resp, 104, 8);
> + card->cid.oemid = UNSTUFF_BITS(resp, 104, 16);
> card->cid.prod_name[0] = UNSTUFF_BITS(resp, 96, 8);
> card->cid.prod_name[1] = UNSTUFF_BITS(resp, 88, 8);
> card->cid.prod_name[2] = UNSTUFF_BITS(resp, 80, 8);
> --
> 2.41.0