]> git.baikalelectronics.ru Git - kernel.git/commit
mmc: sdhci-of-at91: fix set_uhs_signaling rewriting of MC1R
authorEugen Hristev <eugen.hristev@microchip.com>
Thu, 30 Jun 2022 09:09:26 +0000 (12:09 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 Aug 2022 12:23:50 +0000 (14:23 +0200)
commit5cc18e54d839047185ebcd16f1a32bbb733d3d77
treee19c7f661c73362a654d6625e3503f5941f1a7cb
parent7019a825e511136e1f0dacaa1d262478a06193cb
mmc: sdhci-of-at91: fix set_uhs_signaling rewriting of MC1R

[ Upstream commit 1111848f44d4b46f23c36a68ca510efafbd2889d ]

In set_uhs_signaling, the DDR bit is being set by fully writing the MC1R
register.
This can lead to accidental erase of certain bits in this register.
Avoid this by doing a read-modify-write operation.

Fixes: e54596e47384 ("mmc: sdhci-of-at91: fix MMC_DDR_52 timing selection")
Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
Tested-by: Karl Olsen <karl@micro-technic.com>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Link: https://lore.kernel.org/r/20220630090926.15061-1-eugen.hristev@microchip.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/mmc/host/sdhci-of-at91.c