Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp1257092pxj; Fri, 18 Jun 2021 03:11:24 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzFlvEeHen3s+7ft8a3RPSLnl/CGx8NHEc4X9MrupM9EqLFTDfTE3x3kn2Vx3GB11SVaxaQ X-Received: by 2002:a17:906:c241:: with SMTP id bl1mr10148821ejb.536.1624011084193; Fri, 18 Jun 2021 03:11:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1624011084; cv=none; d=google.com; s=arc-20160816; b=kMpgIAfJYDowlXfQrkkuPY2EKnZhIRUS/ehN81+2EXB4gZjOs4/7La4EJA+aDgA6XS oOFKL7dK9315NjSxi4jxlXQ40CR7JvLeeNfh5+QXtHmodRw+oPjaUeQUVsWfsImX77DS +WLqBiHj/W7DWz8MaAxzla+1Z9CXAQHZpMyZeMjM/pH5zLpRfmno7GLVcSzDcJTA7tqE XMHSMwaKyxMhUTBxp+fcJRcPalwdNrj3cyD25qt/y/STszmhkbvY1eHg/qNHY41Z/nx8 qr1jtBz7sx9W77M07WEa5xgYkjXX2/nhJgxamJjfLkJBiM5hBfMXbqIcgXX/PRQEnew0 LwVA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:message-id:date:subject:cc:to:from; bh=6cC2KWQCEwuLvOa4H5zdMhslDAsjYxP8EH4TjUeK9Kg=; b=WmTg1d6COHXgHU3WdH8xf8kvdNsZQwL5gKtDc+Aq9JbYjJ6LTNqkmhzY74r43777Jv hWdQNZK4/7pTk1SQ8AnEmJ22qYlq1slPf+B/wsBNoknfWOwJSjyQPjRUyqsndh0oqSrF SuYtsBebu7PQJc3PsxD3rShGuon5qhFZaOXnblEM8v3B6yYux5G6JPhGEj6wr25tskVP P/MB6LCOLy5QGMtsGlPdbqYr+DJGVFhFDxHLuRxFkGyjWNOa64cogOZz1Kh86yFSh74o bLayNgNHJM79w3Ac+1P7bVhf2pOte+8RSzWtSLKmjEutxXGql5WULQRJNLxUwButBfTF VIiw== ARC-Authentication-Results: i=1; mx.google.com; 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=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id g21si8373813edb.13.2021.06.18.03.11.00; Fri, 18 Jun 2021 03:11:24 -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; 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=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232016AbhFRKMM (ORCPT + 99 others); Fri, 18 Jun 2021 06:12:12 -0400 Received: from inva020.nxp.com ([92.121.34.13]:34034 "EHLO inva020.nxp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231465AbhFRKML (ORCPT ); Fri, 18 Jun 2021 06:12:11 -0400 Received: from inva020.nxp.com (localhost [127.0.0.1]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id 9E74F1A2036; Fri, 18 Jun 2021 12:09:59 +0200 (CEST) Received: from invc005.ap-rdc01.nxp.com (invc005.ap-rdc01.nxp.com [165.114.16.14]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id 9ADA51A2020; Fri, 18 Jun 2021 12:09:55 +0200 (CEST) Received: from localhost.localdomain (shlinux2.ap.freescale.net [10.192.224.44]) by invc005.ap-rdc01.nxp.com (Postfix) with ESMTP id 5D353402B6; Fri, 18 Jun 2021 18:09:50 +0800 (+08) From: Shengjiu Wang To: timur@kernel.org, nicoleotsuka@gmail.com, Xiubo.Lee@gmail.com, festevam@gmail.com, broonie@kernel.org, perex@perex.cz, tiwai@suse.com, alsa-devel@alsa-project.org Cc: linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: [PATCH] ASoC: fsl_xcvr: disable all interrupts when suspend happens Date: Fri, 18 Jun 2021 17:51:16 +0800 Message-Id: <1624009876-3076-1-git-send-email-shengjiu.wang@nxp.com> X-Mailer: git-send-email 2.7.4 X-Virus-Scanned: ClamAV using ClamSMTP Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org There is an unhandled interrupt after suspend, which cause endless interrupt when system resume, so system may hang. Disable all interrupts in runtime suspend callback to avoid above issue. Signed-off-by: Shengjiu Wang --- sound/soc/fsl/fsl_xcvr.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sound/soc/fsl/fsl_xcvr.c b/sound/soc/fsl/fsl_xcvr.c index df7c189d97dd..37b4fdb236ee 100644 --- a/sound/soc/fsl/fsl_xcvr.c +++ b/sound/soc/fsl/fsl_xcvr.c @@ -1233,6 +1233,11 @@ static __maybe_unused int fsl_xcvr_runtime_suspend(struct device *dev) struct fsl_xcvr *xcvr = dev_get_drvdata(dev); int ret; + ret = regmap_update_bits(xcvr->regmap, FSL_XCVR_EXT_IER0, + FSL_XCVR_IRQ_EARC_ALL, 0); + if (ret < 0) + dev_err(dev, "Failed to clear IER0: %d\n", ret); + /* Assert M0+ reset */ ret = regmap_update_bits(xcvr->regmap, FSL_XCVR_EXT_CTRL, FSL_XCVR_EXT_CTRL_CORE_RESET, -- 2.27.0