From patchwork Mon Jul 12 06:12:48 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg Kroah-Hartman X-Patchwork-Id: 473066 Delivered-To: patch@linaro.org Received: by 2002:a02:c94a:0:0:0:0:0 with SMTP id u10csp2718389jao; Mon, 12 Jul 2021 01:17:33 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxZqAnwqbDRfSWKiKnWPJeAuuSneEJyU4OrIvJ9OlLvICPb/z7VYotfnyRK+MajNpbIrOvz X-Received: by 2002:a17:906:1701:: with SMTP id c1mr51310462eje.425.1626077853745; Mon, 12 Jul 2021 01:17:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626077853; cv=none; d=google.com; s=arc-20160816; b=k2/h+rm6Fyc+eM5Wuf3PBZeIPyrPOqL2CYCtIYt3GSdNS0H1t3UdR6sFm2YxjrOcKs Q1ncrFjdWVu4Bqc04b0Vanl0cMDtZMYHQa3TbPlcI3l5RQkdhUDZYeabJlYtJ7mj6Rru 87uHFmNOuBhexI6Ldd+VI8g5J6gT42GRR8fUo67nu19uZ4arahosdOwVUjhYAOw/PtXT FHJft/Ig64CGu2VfDDDBkNqPf/BTufSDzfzkfS2xOp+5HxgOUt1JVw6XYDg2N0UfU6+b mDXthS6KcesL9Bk0eQ8vJZsa+5JY1rha4l/ZLlZk1Q9314AXLGFyzR5NIbi2dsdIWFQE eILA== 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=yfMfhdyGTw0VoTcsL723yVwU5avFxkJSipotfnP9BlA=; b=bWO+9WINQnYMUqSqH3SdhGBBHI9kG3mt+N+f0ipsOEBFVuas6y/bUBpZcfuPmR5/SF diEpneHAtqYAaUliiPcsblKqjoUYlPQDy9dfxGBD91AwjllDUmKyv5UYoW1kriphERHN SLj107gieH/mCzHOXGEmeWgabWMbz5wdPgoeD7DMDdmTmJxFrQ87aarW4lllUWgX/13t fN6Vn0M8z6ct7V5IcEqfqITDbtKS/sHYhCaZA3Yc2VVE2XDYIr/Jagx8NdFAFXUb1hr1 MYmlZ0FnZ49sH7u/o2I64NlWvyow/FB+bqXHeWCw8lkgLnqSIPOHCLLoFyVY7hLZfDBb 3ngg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=Th31q7oX; 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 n21si13642925eda.13.2021.07.12.01.17.33; Mon, 12 Jul 2021 01:17:33 -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=Th31q7oX; 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 S232955AbhGLILa (ORCPT + 12 others); Mon, 12 Jul 2021 04:11:30 -0400 Received: from mail.kernel.org ([198.145.29.99]:55048 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1353845AbhGLIDC (ORCPT ); Mon, 12 Jul 2021 04:03:02 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 845D96197B; Mon, 12 Jul 2021 07:57:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1626076680; bh=9HLm1UMd4ET5mv916NAy10z2QUCLqQIwFit+BsH9Jyg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Th31q7oX+jpL4Z/RIKf5CcelKv2v/P0GPjbXCVdeTRSRJ9OdHRE0GSKZ6NCNtOlV9 TYjKtgs/Np+Y2/Usgld45g51Rdbl4VS/UzsqY30yFY1F46jqFyhfxNWrr935GHovBq oZlERRrtJpD0hLaINPZaus7bnYUL/uPplvOJOavQ= 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.13 745/800] ASoC: fsl_spdif: Fix unexpected interrupt after suspend Date: Mon, 12 Jul 2021 08:12:48 +0200 Message-Id: <20210712061046.052141841@linuxfoundation.org> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20210712060912.995381202@linuxfoundation.org> References: <20210712060912.995381202@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 5636837eb511..53499bc71fa9 100644 --- a/sound/soc/fsl/fsl_spdif.c +++ b/sound/soc/fsl/fsl_spdif.c @@ -1404,6 +1404,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);