FAILED: patch "[PATCH] mmc: renesas_sdhi: abort tuning when timeout detected" failed to apply to 4.19-stable tree
Subsystems (3)
[email protected]
maintainerThe patch below does not apply to the 4.19-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 2c9017d0b5d3fbf17e69577a42d9e610ca122810 Mon Sep 17 00:00:00 2001
From: Wolfram Sang <[email protected]>
Date: Wed, 2 Jun 2021 09:34:35 +0200
Subject: [PATCH] mmc: renesas_sdhi: abort tuning when timeout detected
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
We have to bring the eMMC from sending-data state back to transfer state once we detected a CRC error (timeout) during tuning. So, send a stop command via mmc_abort_tuning().
Reported-by Yoshihiro Shimoda <[email protected]>
drivers/mmc/host/renesas_sdhi_core.c +6 -1
@@ -692,14 +692,19 @@ static int renesas_sdhi_execute_tuning(struct mmc_host *mmc, u32 opcode)/* Issue CMD19 twice for each tap */ for (i =0 ; i <2 * priv->tap_num; i++) { +int cmd_error; +/* Set sampling clock position */ sd_scc_write32 (host, priv,SH_MOBILE_SDHI_SCC_TAPSET , i % priv->tap_num); -if (mmc_send_tuning (mmc, opcode,NULL ) ==0 ) +if (mmc_send_tuning (mmc, opcode, &cmd_error) ==0 )set_bit (i, priv->taps);if (sd_scc_read32 (host, priv,SH_MOBILE_SDHI_SCC_SMPCMP ) ==0 )set_bit (i, priv->smpcmp); + +if (cmd_error) +mmc_abort_tuning (mmc, opcode); } ret =renesas_sdhi_select_tuning (host);