7a057ceeb5
commit 84ee19bffc9306128cd0f1c650e89767079efeff upstream. The OEMID is an 8-bit binary number rather than 16-bit as the current code parses for. The OEMID occupies bits [111:104] in the CID register, see the eMMC spec JESD84-B51 paragraph 7.2.3. It seems that the 16-bit comes from the legacy MMC specs (v3.31 and before). Let's fix the parsing by simply move to use 8-bit instead of 16-bit. This means we ignore the impact on some of those old MMC cards that may be out there, but on the other hand this shouldn't be a problem as the OEMID seems not be an important feature for these cards. Signed-off-by: Avri Altman <avri.altman@wdc.com> Cc: stable@vger.kernel.org Link: https://lore.kernel.org/r/20230927071500.1791882-1-avri.altman@wdc.com Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
||
---|---|---|
.. | ||
block.c | ||
block.h | ||
bus.c | ||
bus.h | ||
card.h | ||
core.c | ||
core.h | ||
crypto.c | ||
crypto.h | ||
debugfs.c | ||
host.c | ||
host.h | ||
Kconfig | ||
Makefile | ||
mmc.c | ||
mmc_ops.c | ||
mmc_ops.h | ||
mmc_test.c | ||
pwrseq.c | ||
pwrseq.h | ||
pwrseq_emmc.c | ||
pwrseq_sd8787.c | ||
pwrseq_simple.c | ||
queue.c | ||
queue.h | ||
quirks.h | ||
regulator.c | ||
sd.c | ||
sd.h | ||
sd_ops.c | ||
sd_ops.h | ||
sdio.c | ||
sdio_bus.c | ||
sdio_bus.h | ||
sdio_cis.c | ||
sdio_cis.h | ||
sdio_io.c | ||
sdio_irq.c | ||
sdio_ops.c | ||
sdio_ops.h | ||
sdio_uart.c | ||
slot-gpio.c | ||
slot-gpio.h |