Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp13337843ybl; Sun, 29 Dec 2019 09:36:21 -0800 (PST) X-Google-Smtp-Source: APXvYqwpLbJOrk0FhMMq4v0T1AsTEYDbln83FVS4PgmYbB7u9w5a2225UYn0VfIAr5DZhd6N+7f+ X-Received: by 2002:a9d:53cb:: with SMTP id i11mr71556834oth.158.1577640981616; Sun, 29 Dec 2019 09:36:21 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1577640981; cv=none; d=google.com; s=arc-20160816; b=D9M1sIsUJFfS19s+DOxp+M33nKjRCwV4pkNWljTXS87OvBaA62YOYiRl1NSA0vhOnm HxpshcUYyqg+8ZfL6I//y5qJuRZ6P2Fv3Tem+2WvJoDp3jo9/5KA8pdDKW3WJVHcX/Uo PWO5B6bYY7Ffk9QcTodOesIDzzX2E1ckUxPPiTWEL1iqcNQx3FkrUHV5gscKmLOW5q0X 2kT2QPHsxWdYBs3I0dbM0jSHyRgxJGEr871AN0nQnwFDd0jBMzXBvShyVsDUUQDyffAg SiqqajvVTdiPv4PnT4l123wh0WJwLttCjPN7tEptQ9F7mmbpoh2PCTs+egH5qiSnLxZl OK+Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=lAWgp3vrZLW41ONObJOEWWs2Q1EShNO+rJUy98WsB7o=; b=CgiVyMLxYp+Of3SJTm1fsea+uHkXmNKbN8+qeUXyAGOg2xCfL6J6MNbzg2nOuQVmwt xgp0mnY8gzvEQ4/g2sjVrZ0Zw0Nx0OiUbZEzJjkmNEahlYBKRSDZwUMnKERc5sx4QpfK F9kvBMjuHZUlDR9Q/YRqtI/ZA5pJKLKw0RXqH7tw0VN+rjM3wxZFyZ2qziHg0UNwSWOO GUuES92jaZfEI24FdWbupoToMjYg79LVzbaw8p1wpn4GsQZE6TQyW6CsB70sLWcp7nI0 t6mDGmnFiM7XxGS3tGfhYF0wGahwCmKBQJpls6MdCHJFykWfmbxuthXFg1INWe1rHH3N Y0Tw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=R4TUsLsU; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id i9si23017944otp.139.2019.12.29.09.36.10; Sun, 29 Dec 2019 09:36:21 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=R4TUsLsU; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728976AbfL2ReR (ORCPT + 99 others); Sun, 29 Dec 2019 12:34:17 -0500 Received: from mail.kernel.org ([198.145.29.99]:37070 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728633AbfL2ReM (ORCPT ); Sun, 29 Dec 2019 12:34:12 -0500 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 9B1F12465B; Sun, 29 Dec 2019 17:34:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1577640852; bh=AcoGWRgx/vXGfpAmvkjjtO8qeWALbMXVFbBsRPO3QPU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=R4TUsLsUPLieWBZEaSNfkFztN4ckDVjLcCINwDcNK1VUrG72FLFX9l2y6SmpaZV5R qjXdj0cUjBnxgqd/xl6O5BWiFnd5+6/af/OZ6+2NyTYOUsL3PmMq0XfxLnrM+ZQcjl /Qnjb8qEKfXckzKku9XNKGpbTL9nChOKI/mltg30= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Michael Walle , Charles Keepax , Mark Brown , Sasha Levin Subject: [PATCH 4.19 164/219] ASoC: wm8904: fix regcache handling Date: Sun, 29 Dec 2019 18:19:26 +0100 Message-Id: <20191229162533.483956682@linuxfoundation.org> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20191229162508.458551679@linuxfoundation.org> References: <20191229162508.458551679@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Michael Walle [ Upstream commit e9149b8c00d25dbaef1aa174fc604bed207e576d ] The current code assumes that the power is turned off in SND_SOC_BIAS_OFF. If there are no actual regulator the codec isn't turned off and the registers are not reset to their default values but the regcache is still marked as dirty. Thus a value might not be written to the hardware if it is set to the default value. Do a software reset before turning off the power to make sure the registers are always reset to their default states. Signed-off-by: Michael Walle Acked-by: Charles Keepax Link: https://lore.kernel.org/r/20191112223629.21867-1-michael@walle.cc Signed-off-by: Mark Brown Signed-off-by: Sasha Levin --- sound/soc/codecs/wm8904.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sound/soc/codecs/wm8904.c b/sound/soc/codecs/wm8904.c index 1965635ec07c..d14e851b9160 100644 --- a/sound/soc/codecs/wm8904.c +++ b/sound/soc/codecs/wm8904.c @@ -1902,6 +1902,7 @@ static int wm8904_set_bias_level(struct snd_soc_component *component, snd_soc_component_update_bits(component, WM8904_BIAS_CONTROL_0, WM8904_BIAS_ENA, 0); + snd_soc_component_write(component, WM8904_SW_RESET_AND_ID, 0); regcache_cache_only(wm8904->regmap, true); regcache_mark_dirty(wm8904->regmap); -- 2.20.1