Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp2659745pxj; Mon, 14 Jun 2021 04:16:05 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwpn4tcQqmxuP3UolmzYKjlHVzTEZIv2HrgNnyRRheAeotm0toDkb7mP8k6FH+tf28tYvSx X-Received: by 2002:a05:6402:27d1:: with SMTP id c17mr16233571ede.28.1623669365047; Mon, 14 Jun 2021 04:16:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1623669365; cv=none; d=google.com; s=arc-20160816; b=Tt13DReNr/uvi5ybYS/PdEwm0igugEURnGqIU2f2JbrNCezSn8PsEixtus8F+JGCik leOloz+f+AGr82DROovA9jrvqCwp45dmE6N+Iw2aoo/obUIsAuEcPIonm8ED9Q4YbrFw QXEs0P9mRyliizPfIQdqaeS/d8D55xPseLgGS4gwiUmYLuvr+krr6xbrvKTUxXCOkvQQ cKu8qMkUhLG6ZcoGnzmLojVzIVI1qWe+4kqkUwS+x/oLqJWd42IExFEz81IpETg3KeZf q7hNzgw+ucm1Cg6D7EhSMRoZpYUJEcfV6x7h/FO7GID2r3NwNAsXevLsfA/3gWO0FHXR pe6g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=LqAoSGI991oqOsucNYHdHNnQNetWYBEpX6UM33V/KDE=; b=WevBsQh2jc9cxMctsmiEvSv/qF1E8r5OU5fUuA87MxTRSZFqL9cJSPTZytayh9zxl6 kZf8OWMkrCVXXnfHdTJyWpwi1873ldH7zvQcvaRf94ZOy2LczaTv/2MamxiJ5wF60Q7o Ir13OcfzvqbMMkQAjKP/KAPQAX3NlcVUBh8ekCiUsOSDw8W82V6y7BRvvCxlTVUKl7OW WLPq6n6Sc2tytm5y1xvMKAwwcIniYRhdXb0S9yjZbO8U9p9QLbguvXn2bhPSiTu7JxmZ KByRbOdmk+Jh4cwoWjHD716Y8xY9reC+TKF5zeyOffAXnyJgUizQ739K08E+SbItXHsD JCzw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b="r/EmNwAw"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id yc22si11583307ejb.277.2021.06.14.04.15.42; Mon, 14 Jun 2021 04:16:05 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b="r/EmNwAw"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235492AbhFNLOV (ORCPT + 99 others); Mon, 14 Jun 2021 07:14:21 -0400 Received: from mail.kernel.org ([198.145.29.99]:36640 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234602AbhFNLC1 (ORCPT ); Mon, 14 Jun 2021 07:02:27 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id BA95E616EC; Mon, 14 Jun 2021 10:43:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1623667424; bh=KTftdnL7StZc29g3j1X9fPuOyHaTMbBVMR3SLYnr/B4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=r/EmNwAwiS+9RkIVRa1IJgn5l0BbESnJhVmUvOwndg9RORfzzv/RMttAYCkfrF7JK api+fEUwyXbA27nQjCvQWTehnI+yxvn+2aCOgGr//T9IPSdJ/xQq4gK/eKvePDuTmc n+beNGCr0BiLJ+It+Vvy86IDzcKHa/OEYZVhS1GE= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Wolfram Sang , =?UTF-8?q?Niklas=20S=C3=B6derlund?= , Yoshihiro Shimoda , Ulf Hansson Subject: [PATCH 5.10 065/131] mmc: renesas_sdhi: abort tuning when timeout detected Date: Mon, 14 Jun 2021 12:27:06 +0200 Message-Id: <20210614102655.237347066@linuxfoundation.org> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20210614102652.964395392@linuxfoundation.org> References: <20210614102652.964395392@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Wolfram Sang commit 2c9017d0b5d3fbf17e69577a42d9e610ca122810 upstream. 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(). Fixes: 4f11997773b6 ("mmc: tmio: Add tuning support") Reported-by Yoshihiro Shimoda Signed-off-by: Wolfram Sang Reviewed-by: Niklas Söderlund Reviewed-by: Yoshihiro Shimoda Tested-by: Yoshihiro Shimoda Link: https://lore.kernel.org/r/20210602073435.5955-1-wsa+renesas@sang-engineering.com Cc: stable@vger.kernel.org Signed-off-by: Ulf Hansson Signed-off-by: Greg Kroah-Hartman --- drivers/mmc/host/renesas_sdhi_core.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) --- a/drivers/mmc/host/renesas_sdhi_core.c +++ b/drivers/mmc/host/renesas_sdhi_core.c @@ -660,14 +660,19 @@ static int renesas_sdhi_execute_tuning(s /* 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);