Received: by 2002:a05:6a10:f3d0:0:0:0:0 with SMTP id a16csp2832241pxv; Mon, 12 Jul 2021 03:03:32 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxUMclfUp8DKKLE+oLVL16yKirB9vJ1chChULqdeubd7MXg5ET9jZchDPM/2zYKZfXZTZyW X-Received: by 2002:a05:6e02:1c2d:: with SMTP id m13mr3678041ilh.137.1626084212077; Mon, 12 Jul 2021 03:03:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626084212; cv=none; d=google.com; s=arc-20160816; b=wlYvIfc8Rw3WErg23Q8AWZi0tIsfmG88/ySIhxTrNDrDch1lt2a5C74K++YgeWfJEx IsFxq7Sc+AZyprS7m0Yf8ovhYz0tSsL2FaomRUvretdaRt8D7+Pw0Fi7uf5x/Atpv9mb HlPOBPN2j7cN2RyRzdhUdrdymVMDTsAwQG0oQij7xygPhEXUMvRp3lshzLCT2+BrcqU1 RFQF1N0NjZwnXM7yDcTXWe5VWOXVws2oxi6jQHbrZvOcUxG5mEK31tCo3vThFspYrpK9 74z3FCG451uDP3puitxtAV7dxhQ7M+GSmpO3Qt4M8cu1w6hzCIwvLI1EFTu+fuSt5cbg gGTg== 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=oFBHgXH4Opfiaau1H7U/N48/PaNv2i4XPgcUpjM1DyI=; b=LRw8nZkHFFQxJKxCrc3SoKvF2y7n+tio7fVDo7L7XTlRv7lTb0Vbe0rx881FryJQrT M2Fn4FXUMYrDXGUcIEc59mfpPPf98xR5NWMTSW3IoZ46L8X9cGbY62qIhUsDohaq2/Mh lrj++Rdv8phV3tbYsAlxYDiX628D+VLoHS7mIxoK0yoDV/Cwq1ZbUYnP2q/dGw9/2wql i9OBq1uPVTen0my8vWfY+OJUHE/S+y3kjw4N6RUl3oke1u9UGOsWN+Wd7b7rSlVgwP7A lkBquPIGFpKZD8Za6EKr5kW3HbjK4jQuaOt+NF/5Jz99kSK2dAHz6JjlUlnWaqb2jpcY zBmA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=J3IIDgsj; 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 s18si13271981jao.15.2021.07.12.03.03.20; Mon, 12 Jul 2021 03:03:32 -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=J3IIDgsj; 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 S243818AbhGLHRK (ORCPT + 99 others); Mon, 12 Jul 2021 03:17:10 -0400 Received: from mail.kernel.org ([198.145.29.99]:52600 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239238AbhGLGwn (ORCPT ); Mon, 12 Jul 2021 02:52:43 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 2624460FE3; Mon, 12 Jul 2021 06:49:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1626072587; bh=GEzXEb4iym0w8gcOkgV5/q9aP2vIib41XYLb0FYQru4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=J3IIDgsjahp4PHzr2Wni+T01/teofGw0Hjq37mwlONO0aUe0bAveRBJQnKZ4oAXgu hoE6JYG/1SNzq58nVp5uwwxmPwepsPsFwbcdD8vx8B1RdHB2+VwzGB2c+EgnphVVFt 4G/n8oCUQYKhu7gCfmcnBL2MypzFY0x/D61Iw3rk= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Shengjiu Wang , Fabio Estevam , Mark Brown , Sasha Levin Subject: [PATCH 5.10 547/593] ASoC: fsl_spdif: Fix unexpected interrupt after suspend Date: Mon, 12 Jul 2021 08:11:47 +0200 Message-Id: <20210712060954.361606045@linuxfoundation.org> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20210712060843.180606720@linuxfoundation.org> References: <20210712060843.180606720@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: Shengjiu Wang [ Upstream commit a7a0a2feb957e446b2bcf732f245ba04fc8b6314 ] When system enter suspend, the machine driver suspend callback function will be called, then the cpu driver trigger callback (SNDRV_PCM_TRIGGER_SUSPEND) be called, it would disable the interrupt. But the machine driver suspend and cpu dai driver suspend order maybe changed, the cpu dai driver's suspend callback is called before machine driver's suppend callback, then the interrupt is not cleared successfully in trigger callback. So need to clear interrupts in cpu dai driver's suspend callback to avoid such issue. Fixes: 9cb2b3796e08 ("ASoC: fsl_spdif: Add pm runtime function") Signed-off-by: Shengjiu Wang Reviewed-by: Fabio Estevam Link: https://lore.kernel.org/r/1624365084-7934-1-git-send-email-shengjiu.wang@nxp.com Signed-off-by: Mark Brown Signed-off-by: Sasha Levin --- sound/soc/fsl/fsl_spdif.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sound/soc/fsl/fsl_spdif.c b/sound/soc/fsl/fsl_spdif.c index 1fbc6d780700..15bcb0f38ec9 100644 --- a/sound/soc/fsl/fsl_spdif.c +++ b/sound/soc/fsl/fsl_spdif.c @@ -1387,6 +1387,9 @@ static int fsl_spdif_runtime_suspend(struct device *dev) struct fsl_spdif_priv *spdif_priv = dev_get_drvdata(dev); int i; + /* Disable all the interrupts */ + regmap_update_bits(spdif_priv->regmap, REG_SPDIF_SIE, 0xffffff, 0); + regmap_read(spdif_priv->regmap, REG_SPDIF_SRPC, &spdif_priv->regcache_srpc); regcache_cache_only(spdif_priv->regmap, true); -- 2.30.2