After we received the dataend interrupt, R1 response register carries
the value from the automatically generated stop command. Report that
info back to the MMC block layer, so we will be notified in case of e.g.
ECC errors which happened during the last transfer.

Signed-off-by: Wolfram Sang <wsa+rene...@sang-engineering.com>
---
 drivers/mmc/host/tmio_mmc_pio.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/mmc/host/tmio_mmc_pio.c b/drivers/mmc/host/tmio_mmc_pio.c
index b47dd9195fe3fe..a08db28b0100d6 100644
--- a/drivers/mmc/host/tmio_mmc_pio.c
+++ b/drivers/mmc/host/tmio_mmc_pio.c
@@ -557,6 +557,9 @@ void tmio_mmc_do_data_irq(struct tmio_mmc_host *host)
                        dev_err(&host->pdev->dev, "unsupported stop: 
CMD%u,0x%x. We did CMD12,0\n",
                                stop->opcode, stop->arg);
 
+               /* fill in response from auto CMD12 */
+               stop->resp[0] = sd_ctrl_read16_and_16_as_32(host, CTL_RESPONSE);
+
                sd_ctrl_write16(host, CTL_STOP_INTERNAL_ACTION, 0);
        }
 
-- 
2.11.0

Reply via email to