Received: by 2002:a25:31c3:0:0:0:0:0 with SMTP id x186csp1379296ybx; Fri, 1 Nov 2019 22:05:44 -0700 (PDT) X-Google-Smtp-Source: APXvYqxrkXBAQMbB277KbrrbvO7Uk7FEeU9fIY+jXYATeahgBsjKEKKASkqHulAxkjx2ZKXkF3fH X-Received: by 2002:a50:c408:: with SMTP id v8mr16856971edf.140.1572671144843; Fri, 01 Nov 2019 22:05:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1572671144; cv=none; d=google.com; s=arc-20160816; b=JgYCap4IH1i0pauCOcX2sUtT/btWL8NdSG/y8NbLFesRvPnIGmXvC2kVCcFxNeTCBv wqCaDyl+M/OHW7I7UF2kTNtsD1aZ3PmNcRiDPCixc33IlflJdicLyWSJv6LEnmeuTmZr JXzU9uxKtbvos1zrzbU5zaJP14fC8zYy7jqplyArONv4ZH74jJJh6Pv1bZdyfDsorbAh +AjBbzhqSPp4ppVrW2yybH+9QTcVrz7eymjWK8h/qAoCGF8gNY1wo8ec3KGSNLeThx23 moxBGbTqzGMokjmEAIWKCVFihu0LW75VR2uDx/0ctbLLduiewL9S1KcrSLo9RkHEcslk OHAQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dmarc-filter:dkim-signature:dkim-signature; bh=GRT6cozsk916ADN3jmiZT7TJhsehL56z1yJwwDNducM=; b=Dmb9zPK7V6nMkyv2rK/Ql4VxfnBsLRp+0KQ9wTRVt30wMVMCflIzzm2Sw7OcEBZh3K SHkZrIMpLg9Rw4VWhDjZRv9GmmApxja3CizGa8dfKmmFwVkZ9nOgHZ9U+D1XCt5XoGAF CWMikazWb7vE61kZOWxFkGHfzI7nKDZprf6tWBVWUZXtYsGhSlk8r8lsK6EgqAm1Wkfq kfgt3ctMv9rNvJgY7TFNCl+tGX6vvfTxX47GVdpIawZ19iekiKdc24eOD7L+FV86axwe GDbCVMhSP+80VtaKkVPe93Wlh07iSEgi66tmITWDYdgbZiE0JQsvfC9PFvsavWmfftXe xQMQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=JI6zpPe8; dkim=pass header.i=@codeaurora.org header.s=default header.b=JkWz3ghU; 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 v24si2009528edm.399.2019.11.01.22.05.21; Fri, 01 Nov 2019 22:05:44 -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=@codeaurora.org header.s=default header.b=JI6zpPe8; dkim=pass header.i=@codeaurora.org header.s=default header.b=JkWz3ghU; 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 S1727297AbfKBFBx (ORCPT + 99 others); Sat, 2 Nov 2019 01:01:53 -0400 Received: from smtp.codeaurora.org ([198.145.29.96]:50080 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725842AbfKBFBx (ORCPT ); Sat, 2 Nov 2019 01:01:53 -0400 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id 2A9E961549; Sat, 2 Nov 2019 05:01:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1572670912; bh=GoX4bP45inNKafc1eN5nAFb+HzguBHGtpBwQTVNYdd8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=JI6zpPe8F1OPurwCyEBWP9Stpw87PqdAtCo5DJZelp8e0+ksmicYaKlxuha48Ozcs mJebCBIvI5K/LWb5lcxEWL/1R6UPXaW4T8PPa+t58UwG54kJTcTzVjoXU2AlcuxADu KhCtMh6/H6D0HqjxdKd/N30Ogpv1qgWhJRx63BDc= X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on pdx-caf-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=2.0 tests=ALL_TRUSTED,BAYES_00, DKIM_INVALID,DKIM_SIGNED,SPF_NONE autolearn=no autolearn_force=no version=3.4.0 Received: from pacamara-linux.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: cang@smtp.codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id 306B1614F7; Sat, 2 Nov 2019 05:01:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1572670910; bh=GoX4bP45inNKafc1eN5nAFb+HzguBHGtpBwQTVNYdd8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=JkWz3ghUFVOp98aE0tZm0Rlzh5Afguqp+0Zpp1fYjvwFkdsL6HE5dplWc0V4M1WGF A9hCJZbZAPpNcbv6EsP+ND0taFn9jwkHP5HsjRwOLSSGZfXp1e83D7bgjZV5Qw66px /+bAJAnTn/9Syy8h5sXYvgkTcfCU6dqr93tuXLOA= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 306B1614F7 Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=cang@codeaurora.org From: Can Guo To: asutoshd@codeaurora.org, nguyenb@codeaurora.org, rnayak@codeaurora.org, linux-scsi@vger.kernel.org, kernel-team@android.com, saravanak@google.com, salyzyn@google.com, cang@codeaurora.org Cc: Alim Akhtar , Avri Altman , Pedro Sousa , "James E.J. Bottomley" , "Martin K. Petersen" , Stanley Chu , Bean Huo , Subhash Jadavani , Tomas Winkler , Venkat Gopalakrishnan , linux-kernel@vger.kernel.org (open list) Subject: [PATCH v3 2/5] scsi: ufs: Set DBD setting in mode sense for caching mode page Date: Fri, 1 Nov 2019 22:01:35 -0700 Message-Id: <1572670898-750-3-git-send-email-cang@codeaurora.org> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1572670898-750-1-git-send-email-cang@codeaurora.org> References: <1572670898-750-1-git-send-email-cang@codeaurora.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Host sends MODE_SENSE_10 with caching mode page, to check if the device supports the cache feature. UFS standards requires DBD field to be set to 1. Some card vendors are more strict and check the DBD field, hence respond with CHECK_CONDITION (Sense key set to ILLEGAL_REQUEST and ASC set to INVALID FIELD IN CDB). As a result of the CHECK_CONDITION response, host assumes that the device doesn't support the cache feature and doesn't send SYNCHRONIZE_CACHE commands to flush the device cache. This can result in data corruption in case of sudden power down, when there is data stored in the device cache. This patch fixes the DBD field setting in case of caching mode page. Signed-off-by: Can Guo --- drivers/scsi/ufs/ufshcd.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c index 0026199..0a6b8f9 100644 --- a/drivers/scsi/ufs/ufshcd.c +++ b/drivers/scsi/ufs/ufshcd.c @@ -8353,6 +8353,7 @@ int ufshcd_init(struct ufs_hba *hba, void __iomem *mmio_base, unsigned int irq) host->max_channel = UFSHCD_MAX_CHANNEL; host->unique_id = host->host_no; host->max_cmd_len = UFS_CDB_SIZE; + host->set_dbd_for_caching = 1; hba->max_pwr_info.is_valid = false; -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project