| From fa0e01a6eac415f0148aa887bfc904b8879a1da9 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Mon, 7 Jun 2021 17:22:30 -0500 |
| Subject: ASoC: rt700-sdw: use first_hw_init flag on resume |
| |
| From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> |
| |
| [ Upstream commit a9e54e5fbe396b546771cf77b43ce7c75e212278 ] |
| |
| The intent of the status check on resume was to verify if a SoundWire |
| peripheral reported ATTACHED before waiting for the initialization to |
| complete. This is required to avoid timeouts that will happen with |
| 'ghost' devices that are exposed in the platform firmware but are not |
| populated in hardware. |
| |
| Unfortunately we used 'hw_init' instead of 'first_hw_init'. Due to |
| another error, the resume operation never timed out, but the volume |
| settings were not properly restored. |
| |
| BugLink: https://github.com/thesofproject/linux/issues/2908 |
| BugLink: https://github.com/thesofproject/linux/issues/2637 |
| Fixes: 7d2a5f9ae41e3 ('ASoC: rt700: add rt700 codec driver') |
| Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> |
| Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com> |
| Reviewed-by: Bard Liao <bard.liao@intel.com> |
| Link: https://lore.kernel.org/r/20210607222239.582139-7-pierre-louis.bossart@linux.intel.com |
| Signed-off-by: Mark Brown <broonie@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| sound/soc/codecs/rt700-sdw.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/sound/soc/codecs/rt700-sdw.c b/sound/soc/codecs/rt700-sdw.c |
| index fb77e77a4ebd..3a1db79030d7 100644 |
| --- a/sound/soc/codecs/rt700-sdw.c |
| +++ b/sound/soc/codecs/rt700-sdw.c |
| @@ -498,7 +498,7 @@ static int __maybe_unused rt700_dev_resume(struct device *dev) |
| struct rt700_priv *rt700 = dev_get_drvdata(dev); |
| unsigned long time; |
| |
| - if (!rt700->hw_init) |
| + if (!rt700->first_hw_init) |
| return 0; |
| |
| if (!slave->unattach_request) |
| -- |
| 2.30.2 |
| |