mmc: dw_mmc: Avoid hung state if GEN_CMD transfer fails
authorMårten Lindahl <marten.lindahl@axis.com>
Wed, 3 Nov 2021 18:27:16 +0000 (19:27 +0100)
committerUlf Hansson <ulf.hansson@linaro.org>
Tue, 14 Dec 2021 20:35:24 +0000 (21:35 +0100)
commit9f0d3cc23842cb827493d4a59e474d0808a3f9f6
tree1e61cec4536193fc4eeed4a15d20e95925fd1642
parentdfb654f1885f05baf506cdfdbc3f7efa1d847d54
mmc: dw_mmc: Avoid hung state if GEN_CMD transfer fails

If we get a data error during a block transfer command, a stop command
(CMD12) is normally initiated. But this does not work for the general
command (CMD56), but instead the action is ignored and an uninitialized
command struct is used for the stop action, with unexpected result.

Fix this by adding a check for GEN_CMD when preparing stop transmission.

Signed-off-by: Mårten Lindahl <marten.lindahl@axis.com>
Link: https://lore.kernel.org/r/20211103182716.28419-1-marten.lindahl@axis.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/dw_mmc.c