From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, MIME_BASE64_TEXT,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 21FC7C43603 for ; Sat, 7 Dec 2019 12:22:23 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id E65932176D for ; Sat, 7 Dec 2019 12:22:22 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="Y8K7+Qrm" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726508AbfLGMWV (ORCPT ); Sat, 7 Dec 2019 07:22:21 -0500 Received: from mailgw01.mediatek.com ([210.61.82.183]:65245 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726263AbfLGMWS (ORCPT ); Sat, 7 Dec 2019 07:22:18 -0500 X-UUID: f91f0e1067b141f890e90dde86fa0d88-20191207 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=WdphAW/gpXCO6Np9LJ/wLt5JaiJqP2sTAAv7fAToZng=; b=Y8K7+QrmVgzX5jprRcO+UT47F5AN5tPrAoMs+BIBGbdy8cBL3/r1EX1tM23AAq7lo5w4F+k4N6jE7gwQGRO2ljyZ1l9CFgJKShZdlCD83hVIzyvJC4UzNhLI1eRprvBpG6MMG0zgzcdEj/0TuU3EP3/wrwqoLMgYWHf943EGI+0=; X-UUID: f91f0e1067b141f890e90dde86fa0d88-20191207 Received: from mtkexhb01.mediatek.inc [(172.21.101.102)] by mailgw01.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 785131563; Sat, 07 Dec 2019 20:22:08 +0800 Received: from mtkcas09.mediatek.inc (172.21.101.178) by mtkmbs02n2.mediatek.inc (172.21.101.101) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Sat, 7 Dec 2019 20:21:44 +0800 Received: from mtkswgap22.mediatek.inc (172.21.77.33) by mtkcas09.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1395.4 via Frontend Transport; Sat, 7 Dec 2019 20:21:55 +0800 From: Stanley Chu To: , , , , , , CC: , , , , , , , , Stanley Chu Subject: [PATCH v1 1/2] scsi: ufs: disable irq before disabling clocks Date: Sat, 7 Dec 2019 20:22:00 +0800 Message-ID: <1575721321-8071-2-git-send-email-stanley.chu@mediatek.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1575721321-8071-1-git-send-email-stanley.chu@mediatek.com> References: <1575721321-8071-1-git-send-email-stanley.chu@mediatek.com> MIME-Version: 1.0 Content-Type: text/plain X-TM-SNTS-SMTP: 2AF96748D5321DF6AB154895A2E1C9E3DE4982FA9A1F03C07B3D57554AB449A02000:8 X-MTK: N Content-Transfer-Encoding: base64 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org RHVyaW5nIHN1c3BlbmQgZmxvdywgaW50ZXJydXB0IHNoYWxsIGJlIGRpc2FibGVkIGJlZm9yZSBk aXNhYmxpbmcNCmNsb2NrcyB0byBhdm9pZCBwb3RlbnRpYWwgc3lzdGVtIGhhbmcgZHVlIHRvIGFj Y2Vzc2luZyBob3N0IHJlZ2lzdGVycw0KYWZ0ZXIgaG9zdCBjbG9ja3MgYXJlIGRpc2FibGVkLg0K DQpGb3IgZXhhbXBsZSwgaWYgYW4gaW50ZXJydXB0IGNvbWVzIHdpdGggSVJRRl9JUlFQT0xMIGZs YWcgY29uZmlndXJlZA0Kd2l0aCB0aGUgbWlzcm91dGVkIGludGVycnVwdCByZWNvdmVyeSBmZWF0 dXJlIGVuYWJsZWQsIHVmc2hjZCBJU1IgbWF5DQpiZSB0cmlnZ2VyZWQgZXZlbiBpZiBub3RoaW5n IHNoYWxsIGJlIGRvbmUgZm9yIFVGUy4gSW4gdGhpcyBjYXNlLCBzeXN0ZW0NCmhhbmcgbWF5IGhh cHBlbiBpZiBVRlMgaW50ZXJydXB0IHN0YXR1cyByZWdpc3RlciBpcyBhY2Nlc3NlZCB3aXRoIGhv c3QNCmNsb2NrcyBkaXNhYmxlZC4NCg0KU2lnbmVkLW9mZi1ieTogU3RhbmxleSBDaHUgPHN0YW5s ZXkuY2h1QG1lZGlhdGVrLmNvbT4NCi0tLQ0KIGRyaXZlcnMvc2NzaS91ZnMvdWZzaGNkLmMgfCAx MSArKysrKystLS0tLQ0KIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDUgZGVsZXRp b25zKC0pDQoNCmRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvdWZzL3Vmc2hjZC5jIGIvZHJpdmVy cy9zY3NpL3Vmcy91ZnNoY2QuYw0KaW5kZXggYjU5NjZmYWYzZTk4Li5mODBiZDRlODExY2IgMTAw NjQ0DQotLS0gYS9kcml2ZXJzL3Njc2kvdWZzL3Vmc2hjZC5jDQorKysgYi9kcml2ZXJzL3Njc2kv dWZzL3Vmc2hjZC5jDQpAQCAtNzkwOCw2ICs3OTA4LDExIEBAIHN0YXRpYyBpbnQgdWZzaGNkX3N1 c3BlbmQoc3RydWN0IHVmc19oYmEgKmhiYSwgZW51bSB1ZnNfcG1fb3AgcG1fb3ApDQogCXJldCA9 IHVmc2hjZF92b3BzX3N1c3BlbmQoaGJhLCBwbV9vcCk7DQogCWlmIChyZXQpDQogCQlnb3RvIHNl dF9saW5rX2FjdGl2ZTsNCisJLyoNCisJICogRGlzYWJsZSB0aGUgaG9zdCBpcnEgYXMgaG9zdCBj b250cm9sbGVyIGFzIHRoZXJlIHdvbid0IGJlIGFueQ0KKwkgKiBob3N0IGNvbnRyb2xsZXIgdHJh bnNhY3Rpb24gZXhwZWN0ZWQgdGlsbCByZXN1bWUuDQorCSAqLw0KKwl1ZnNoY2RfZGlzYWJsZV9p cnEoaGJhKTsNCiANCiAJaWYgKCF1ZnNoY2RfaXNfbGlua19hY3RpdmUoaGJhKSkNCiAJCXVmc2hj ZF9zZXR1cF9jbG9ja3MoaGJhLCBmYWxzZSk7DQpAQCAtNzkxNywxMSArNzkyMiw3IEBAIHN0YXRp YyBpbnQgdWZzaGNkX3N1c3BlbmQoc3RydWN0IHVmc19oYmEgKmhiYSwgZW51bSB1ZnNfcG1fb3Ag cG1fb3ApDQogDQogCWhiYS0+Y2xrX2dhdGluZy5zdGF0ZSA9IENMS1NfT0ZGOw0KIAl0cmFjZV91 ZnNoY2RfY2xrX2dhdGluZyhkZXZfbmFtZShoYmEtPmRldiksIGhiYS0+Y2xrX2dhdGluZy5zdGF0 ZSk7DQotCS8qDQotCSAqIERpc2FibGUgdGhlIGhvc3QgaXJxIGFzIGhvc3QgY29udHJvbGxlciBh cyB0aGVyZSB3b24ndCBiZSBhbnkNCi0JICogaG9zdCBjb250cm9sbGVyIHRyYW5zYWN0aW9uIGV4 cGVjdGVkIHRpbGwgcmVzdW1lLg0KLQkgKi8NCi0JdWZzaGNkX2Rpc2FibGVfaXJxKGhiYSk7DQor DQogCS8qIFB1dCB0aGUgaG9zdCBjb250cm9sbGVyIGluIGxvdyBwb3dlciBtb2RlIGlmIHBvc3Np YmxlICovDQogCXVmc2hjZF9oYmFfdnJlZ19zZXRfbHBtKGhiYSk7DQogCWdvdG8gb3V0Ow0KLS0g DQoyLjE4LjANCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 23BBAC43603 for ; Sat, 7 Dec 2019 12:32:34 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id B88D82082E for ; Sat, 7 Dec 2019 12:32:33 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="u637yIBt"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="Y8K7+Qrm" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B88D82082E Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=TIIHkQHviWJlzANxRKOxq3bkjQQ3VUzBoCmKZy0aAo4=; b=u637yIBt7+Ptkn pl7E8dSJ8jKOhUaZdeDXAzLEgRtTzSBC47QRd68NDWk/Ng/124FBx52xkRSx4zcv1LyJvL7il7uXV iKkoR/NUZUmWuI9evIn7PH2cuPQdkB39WNGVmMj1AnEibWKs3WpCtJaAz3mLKIS0Qf71WFlJRE+VA Q9237V3yiQY43MNAnOM9SeizJAAMF7AeoRuVgjOErewrDGmO344IxHkGcS8xqaeppD3m4maGQ4YEJ 76lzOye7LhZgPe3A70Obdj58fZ5Ccx+1I1e/Ik2AciZtahMK46kNRZeryfZ+8nmk5KCk19Yr0+i78 26k3HDBp/0oVgJEGpG9Q==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1idZGD-0006pZ-24; Sat, 07 Dec 2019 12:32:33 +0000 Received: from mailgw01.mediatek.com ([216.200.240.184]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1idZG9-0006ol-K4; Sat, 07 Dec 2019 12:32:31 +0000 X-UUID: ee488406bb544d1fbe7a632498da612f-20191207 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=WdphAW/gpXCO6Np9LJ/wLt5JaiJqP2sTAAv7fAToZng=; b=Y8K7+QrmVgzX5jprRcO+UT47F5AN5tPrAoMs+BIBGbdy8cBL3/r1EX1tM23AAq7lo5w4F+k4N6jE7gwQGRO2ljyZ1l9CFgJKShZdlCD83hVIzyvJC4UzNhLI1eRprvBpG6MMG0zgzcdEj/0TuU3EP3/wrwqoLMgYWHf943EGI+0=; X-UUID: ee488406bb544d1fbe7a632498da612f-20191207 Received: from mtkcas66.mediatek.inc [(172.29.193.44)] by mailgw01.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLS) with ESMTP id 892752171; Sat, 07 Dec 2019 04:32:22 -0800 Received: from MTKMBS02N2.mediatek.inc (172.21.101.101) by MTKMBS62N1.mediatek.inc (172.29.193.41) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Sat, 7 Dec 2019 04:23:17 -0800 Received: from mtkcas09.mediatek.inc (172.21.101.178) by mtkmbs02n2.mediatek.inc (172.21.101.101) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Sat, 7 Dec 2019 20:21:44 +0800 Received: from mtkswgap22.mediatek.inc (172.21.77.33) by mtkcas09.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1395.4 via Frontend Transport; Sat, 7 Dec 2019 20:21:55 +0800 From: Stanley Chu To: , , , , , , Subject: [PATCH v1 1/2] scsi: ufs: disable irq before disabling clocks Date: Sat, 7 Dec 2019 20:22:00 +0800 Message-ID: <1575721321-8071-2-git-send-email-stanley.chu@mediatek.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1575721321-8071-1-git-send-email-stanley.chu@mediatek.com> References: <1575721321-8071-1-git-send-email-stanley.chu@mediatek.com> MIME-Version: 1.0 X-TM-SNTS-SMTP: 2AF96748D5321DF6AB154895A2E1C9E3DE4982FA9A1F03C07B3D57554AB449A02000:8 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20191207_043229_759558_BA8E3794 X-CRM114-Status: UNSURE ( 8.23 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: andy.teng@mediatek.com, chun-hung.wu@mediatek.com, kuohong.wang@mediatek.com, linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org, peter.wang@mediatek.com, Stanley Chu , linux-arm-kernel@lists.infradead.org, beanhuo@micron.com Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org During suspend flow, interrupt shall be disabled before disabling clocks to avoid potential system hang due to accessing host registers after host clocks are disabled. For example, if an interrupt comes with IRQF_IRQPOLL flag configured with the misrouted interrupt recovery feature enabled, ufshcd ISR may be triggered even if nothing shall be done for UFS. In this case, system hang may happen if UFS interrupt status register is accessed with host clocks disabled. Signed-off-by: Stanley Chu --- drivers/scsi/ufs/ufshcd.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c index b5966faf3e98..f80bd4e811cb 100644 --- a/drivers/scsi/ufs/ufshcd.c +++ b/drivers/scsi/ufs/ufshcd.c @@ -7908,6 +7908,11 @@ static int ufshcd_suspend(struct ufs_hba *hba, enum ufs_pm_op pm_op) ret = ufshcd_vops_suspend(hba, pm_op); if (ret) goto set_link_active; + /* + * Disable the host irq as host controller as there won't be any + * host controller transaction expected till resume. + */ + ufshcd_disable_irq(hba); if (!ufshcd_is_link_active(hba)) ufshcd_setup_clocks(hba, false); @@ -7917,11 +7922,7 @@ static int ufshcd_suspend(struct ufs_hba *hba, enum ufs_pm_op pm_op) hba->clk_gating.state = CLKS_OFF; trace_ufshcd_clk_gating(dev_name(hba->dev), hba->clk_gating.state); - /* - * Disable the host irq as host controller as there won't be any - * host controller transaction expected till resume. - */ - ufshcd_disable_irq(hba); + /* Put the host controller in low power mode if possible */ ufshcd_hba_vreg_set_lpm(hba); goto out; -- 2.18.0 _______________________________________________ Linux-mediatek mailing list Linux-mediatek@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-mediatek From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DD090C2BBE2 for ; Sat, 7 Dec 2019 12:32:35 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id AE09A2082E for ; Sat, 7 Dec 2019 12:32:35 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="s6gT0/WC"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="Y8K7+Qrm" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org AE09A2082E Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=zZh8uusitXC8P9N6mGuW8QeaQpyxnEov9kBxRtX8N6g=; b=s6gT0/WCXrKNwH GHHOgrz5ehLTVvfxwAO6pcbsYGoGBKJFwA4VUJbJsibxrIC9Rw5uvxk5w4INiuAN1m+Sk8PSeEdA0 Mb7/x6FC8d7UeyYB4fEh4r7or37c2IdDAchCLkuTaWKZOOyb6QUq+s/SfdV9sJVxM4+WNiFjrCBls SEH8EK3luT+oIB1SCct41QyFveLMFenICbQW+TaBH668kQ2dAnWaq2U1a/T56VkmslCMvky13yssq YvS2dMERvTz8k/XS6iR3Al1byKCbDx4LpwBHs7paN8h4/nW1jTq/02kBTRgJiH/4GDAhj1mwoA+xo qeaaFmP2LLyf6AuIWkNQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1idZGE-0006rF-Ub; Sat, 07 Dec 2019 12:32:34 +0000 Received: from mailgw01.mediatek.com ([216.200.240.184]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1idZG9-0006ol-K4; Sat, 07 Dec 2019 12:32:31 +0000 X-UUID: ee488406bb544d1fbe7a632498da612f-20191207 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=WdphAW/gpXCO6Np9LJ/wLt5JaiJqP2sTAAv7fAToZng=; b=Y8K7+QrmVgzX5jprRcO+UT47F5AN5tPrAoMs+BIBGbdy8cBL3/r1EX1tM23AAq7lo5w4F+k4N6jE7gwQGRO2ljyZ1l9CFgJKShZdlCD83hVIzyvJC4UzNhLI1eRprvBpG6MMG0zgzcdEj/0TuU3EP3/wrwqoLMgYWHf943EGI+0=; X-UUID: ee488406bb544d1fbe7a632498da612f-20191207 Received: from mtkcas66.mediatek.inc [(172.29.193.44)] by mailgw01.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLS) with ESMTP id 892752171; Sat, 07 Dec 2019 04:32:22 -0800 Received: from MTKMBS02N2.mediatek.inc (172.21.101.101) by MTKMBS62N1.mediatek.inc (172.29.193.41) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Sat, 7 Dec 2019 04:23:17 -0800 Received: from mtkcas09.mediatek.inc (172.21.101.178) by mtkmbs02n2.mediatek.inc (172.21.101.101) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Sat, 7 Dec 2019 20:21:44 +0800 Received: from mtkswgap22.mediatek.inc (172.21.77.33) by mtkcas09.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1395.4 via Frontend Transport; Sat, 7 Dec 2019 20:21:55 +0800 From: Stanley Chu To: , , , , , , Subject: [PATCH v1 1/2] scsi: ufs: disable irq before disabling clocks Date: Sat, 7 Dec 2019 20:22:00 +0800 Message-ID: <1575721321-8071-2-git-send-email-stanley.chu@mediatek.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1575721321-8071-1-git-send-email-stanley.chu@mediatek.com> References: <1575721321-8071-1-git-send-email-stanley.chu@mediatek.com> MIME-Version: 1.0 X-TM-SNTS-SMTP: 2AF96748D5321DF6AB154895A2E1C9E3DE4982FA9A1F03C07B3D57554AB449A02000:8 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20191207_043229_759558_BA8E3794 X-CRM114-Status: UNSURE ( 8.23 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: andy.teng@mediatek.com, chun-hung.wu@mediatek.com, kuohong.wang@mediatek.com, linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org, peter.wang@mediatek.com, Stanley Chu , linux-arm-kernel@lists.infradead.org, beanhuo@micron.com Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org During suspend flow, interrupt shall be disabled before disabling clocks to avoid potential system hang due to accessing host registers after host clocks are disabled. For example, if an interrupt comes with IRQF_IRQPOLL flag configured with the misrouted interrupt recovery feature enabled, ufshcd ISR may be triggered even if nothing shall be done for UFS. In this case, system hang may happen if UFS interrupt status register is accessed with host clocks disabled. Signed-off-by: Stanley Chu --- drivers/scsi/ufs/ufshcd.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c index b5966faf3e98..f80bd4e811cb 100644 --- a/drivers/scsi/ufs/ufshcd.c +++ b/drivers/scsi/ufs/ufshcd.c @@ -7908,6 +7908,11 @@ static int ufshcd_suspend(struct ufs_hba *hba, enum ufs_pm_op pm_op) ret = ufshcd_vops_suspend(hba, pm_op); if (ret) goto set_link_active; + /* + * Disable the host irq as host controller as there won't be any + * host controller transaction expected till resume. + */ + ufshcd_disable_irq(hba); if (!ufshcd_is_link_active(hba)) ufshcd_setup_clocks(hba, false); @@ -7917,11 +7922,7 @@ static int ufshcd_suspend(struct ufs_hba *hba, enum ufs_pm_op pm_op) hba->clk_gating.state = CLKS_OFF; trace_ufshcd_clk_gating(dev_name(hba->dev), hba->clk_gating.state); - /* - * Disable the host irq as host controller as there won't be any - * host controller transaction expected till resume. - */ - ufshcd_disable_irq(hba); + /* Put the host controller in low power mode if possible */ ufshcd_hba_vreg_set_lpm(hba); goto out; -- 2.18.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel