mmc: sdhci: Fix data command CRC error handling
authorAdrian Hunter <adrian.hunter@intel.com>
Thu, 15 Nov 2018 13:53:41 +0000 (15:53 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 27 Apr 2019 07:36:39 +0000 (09:36 +0200)
commitb2be40b73b29921e5c7f2e3a11ceaa31c508326c
tree1deda4ff8b78c9f7ea03fb9fbdb9b9952d73b9ef
parentbe608583d9c4910877d7553d4240e998818c2d70
mmc: sdhci: Fix data command CRC error handling

[ Upstream commit 4bf780996669280171c9cd58196512849b93434e ]

Existing data command CRC error handling is non-standard and does not work
with some Intel host controllers. Specifically, the assumption that the host
controller will continue operating normally after the error interrupt,
is not valid. Change the driver to handle the error in the same manner
as a data CRC error, taking care to ensure that the data line reset is
done for single or multi-block transfers, and it is done before
unmapping DMA.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/mmc/host/sdhci.c