| From 4b76e34c9506355c5f8106f2882c79fa9714d82c Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Mon, 7 Jun 2021 17:22:32 -0500 |
| Subject: ASoC: rt711-sdw: use first_hw_init flag on resume |
| |
| From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> |
| |
| [ Upstream commit a0897ebca669f09a2e02206a9c48a738af655329 ] |
| |
| 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: 320b8b0d13b81 ('ASoC: rt711: add rt711 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-9-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/rt711-sdw.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/sound/soc/codecs/rt711-sdw.c b/sound/soc/codecs/rt711-sdw.c |
| index f0a0691bd31c..eb54e90c1c60 100644 |
| --- a/sound/soc/codecs/rt711-sdw.c |
| +++ b/sound/soc/codecs/rt711-sdw.c |
| @@ -500,7 +500,7 @@ static int __maybe_unused rt711_dev_resume(struct device *dev) |
| struct rt711_priv *rt711 = dev_get_drvdata(dev); |
| unsigned long time; |
| |
| - if (!rt711->hw_init) |
| + if (!rt711->first_hw_init) |
| return 0; |
| |
| if (!slave->unattach_request) |
| -- |
| 2.30.2 |
| |