Received: by 2002:ac0:a582:0:0:0:0:0 with SMTP id m2-v6csp5467292imm; Tue, 16 Oct 2018 10:40:08 -0700 (PDT) X-Google-Smtp-Source: ACcGV63gNctb4QmrC2a8+f+DYTWATwvTFOrxI1eHwYfMhH17z7+Myf9yJtldghLETyx+vk6pLLhG X-Received: by 2002:a63:7e1c:: with SMTP id z28-v6mr21296910pgc.190.1539711608425; Tue, 16 Oct 2018 10:40:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1539711608; cv=none; d=google.com; s=arc-20160816; b=OPexl3+kKKiz/W13Z2Pa3EZQF/yR5pAOwM9NTvkt+UxokdpZY8WtO9664fYVHQB6be Cx/N7w6VM6NXlOWzrjYEPkiyPkV6RDr2ntQTr38RxKww4yUkNN48TBAQRwmbnr3iiQu0 fXeD0OhvgNAEWjO6Jfaj6+Hc91PWGDkIRs01jqv5tz59FsauUY7f/qFsBDPNqU/CvGq3 ybd72j8RU/35Kif+LZasEuP7W3nqljEq7SQpPQyEuMl/1AzDm5tMV0Dr+BcKFE/GwXyY 6X7OIx7XhEGUiME2cogP4Y2uB9n80nv2S7uDG1R0uOp/msiQNI6zwLlwDl+MuB6s6VzW qlRw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=skepObCsKQSnPQaSn1gGhg/GkcTnyc/nO5aLlyjEojA=; b=TO78KVh3kqxlKTI+maoP4rniYiYUvTj7s/c83AYXJqug5H4V+OtHOYANiEgnGoyJVF VqCN6OzzL5kQU3/MMJWdBT0GfCdNA1jeVu1Z17nIhRsW7FmxPvwA/JAXwEXLIK3QLuEs EWatpjfN+rcNZuKB2xsMxELl40fP40WGX8Rimvfy70TG1VnLGsZ1kUGOAUUHxGSlY0Ri oSF1QshZLmFaY8D4zKGqXJNAx2CplfYMp7LhfkCWIB7UbMDYyGa/ISwTVv/XQZFaeXjD 0DVmkmE5gvMjmLwsLxwvH4CmKvwSPvYjkk5jTVf1nNxM320almV+rgWEJBlEqjP8TxaH TOwA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=2n+Q40GF; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id g38-v6si14443531pgm.193.2018.10.16.10.39.52; Tue, 16 Oct 2018 10:40:08 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=2n+Q40GF; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729801AbeJQBIW (ORCPT + 99 others); Tue, 16 Oct 2018 21:08:22 -0400 Received: from mail.kernel.org ([198.145.29.99]:52988 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727486AbeJQBIV (ORCPT ); Tue, 16 Oct 2018 21:08:21 -0400 Received: from localhost (ip-213-127-77-176.ip.prioritytelecom.net [213.127.77.176]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 5C43C20866; Tue, 16 Oct 2018 17:16:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1539710217; bh=h2xlg0V7YpzBBmdxs0x8ylbGVQOrSW3UgztshJpIthQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=2n+Q40GF8NdMLDo67PYVXtd7k8d+gyOZY0C7GQbHncvGIPbPioEwCbGVS4wttAeBh Bjtcu5QwwrPzgtMVK8yJKhsDcOvNSprkge7RM92i4TXaKQSb9ph8Drb2H/XTMX/SCe gq7kmY9ME0f63d8NLcYC2DGK/5BSUbbKWOvVo/pU= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Chris Boot , =?UTF-8?q?Cl=C3=A9ment=20P=C3=A9ron?= , Ulf Hansson Subject: [PATCH 4.18 128/135] mmc: block: avoid multiblock reads for the last sector in SPI mode Date: Tue, 16 Oct 2018 19:05:58 +0200 Message-Id: <20181016170524.097183468@linuxfoundation.org> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20181016170515.447235311@linuxfoundation.org> References: <20181016170515.447235311@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.18-stable review patch. If anyone has any objections, please let me know. ------------------ From: Chris Boot commit 41591b38f5f8f78344954b68582b5f00e56ffe61 upstream. On some SD cards over SPI, reading with the multiblock read command the last sector will leave the card in a bad state. Remove last sectors from the multiblock reading cmd. Signed-off-by: Chris Boot Signed-off-by: Clément Péron Cc: stable@vger.kernel.org # v4.10+ Signed-off-by: Ulf Hansson Signed-off-by: Greg Kroah-Hartman --- drivers/mmc/core/block.c | 10 ++++++++++ 1 file changed, 10 insertions(+) --- a/drivers/mmc/core/block.c +++ b/drivers/mmc/core/block.c @@ -1371,6 +1371,16 @@ static void mmc_blk_data_prep(struct mmc if (brq->data.blocks > 1) { /* + * Some SD cards in SPI mode return a CRC error or even lock up + * completely when trying to read the last block using a + * multiblock read command. + */ + if (mmc_host_is_spi(card->host) && (rq_data_dir(req) == READ) && + (blk_rq_pos(req) + blk_rq_sectors(req) == + get_capacity(md->disk))) + brq->data.blocks--; + + /* * After a read error, we redo the request one sector * at a time in order to accurately determine which * sectors can be read successfully.