From patchwork Mon Jul 12 06:11:47 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg KH X-Patchwork-Id: 472923 Delivered-To: patch@linaro.org Received: by 2002:a02:c94a:0:0:0:0:0 with SMTP id u10csp2662008jao; Sun, 11 Jul 2021 23:52:38 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwu30Ey/PCCHYYinw+J2oXk2sP8feiGH8mCQG01JxqdmcxaSlXy1CWevESqyP694juJldyb X-Received: by 2002:a50:ed89:: with SMTP id h9mr14804415edr.106.1626072758727; Sun, 11 Jul 2021 23:52:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626072758; cv=none; d=google.com; s=arc-20160816; b=yQohESQvcas3toFZcWdGr5hDwQe6nrYKiKRAmarclAOJyJrNvh0XmupoL7r3UVJIa9 08fgHH5UIPJXDIYF9aIxQiiffteADypCTK6C34WD0f/Ht/opDo1noxQbmqNj0DJoE42b DThxv7XHCwb/ORKo5eH9FUbZKnJVSDIWqXOKt2rBjJy4fXSy/jmRK4uOdn2JxZe7Z5gf QxfmY8XcUJRK0UeZDBLxpizQ2eLaNFV7cj6y8ko9lpR2r8pCHSnSeGMxkPI+g1AEXbcp H5LSmu/KHJeUQMjeDMLcSxUpDczwmebhOWXSbVozcS3W0g8PCljULZTk6UUGtQlohEob vIPg== 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=RfsiNldI+tPGkHdgdZ/6htKGciyXuY+voYfRVMSWH4YAodJeGnQObgaPDSHUdYoFJ3 1H0UBPcDQ9It5Io6H0hEeugPp+udySfakimzNhle2JnDtlfv3EqM9CxRrFaVx02beX5v KOzW0hP0x0q9l5TlYZfXX3tXjfcyp1KtSj/cmdcx7g6NhTH980D/hXRKsMqUU1G9SyIn cOicMpVKwM+CbcEKcSu+WuErMFJyUg4PcIUzkCmz+sH6KGxPGLuMU+MAi7fl6Zed5w7L h8PUEquYV7roN44UODuw8Dpd3e+YDiE3/+XvtZvzyeybBb5xFV00Xa59Li18e9KQnIaW voJQ== 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 stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-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 r25si3440466edp.437.2021.07.11.23.52.38; Sun, 11 Jul 2021 23:52:38 -0700 (PDT) Received-SPF: pass (google.com: domain of stable-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 stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-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 S240346AbhGLGxx (ORCPT + 12 others); Mon, 12 Jul 2021 02:53:53 -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 Precedence: bulk List-ID: X-Mailing-List: stable@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(+) -- 2.30.2 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);