| From 921e12a177dd4075febf2fe8eb7aaea8dc18b47b Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Mon, 7 Jun 2021 17:22:34 -0500 |
| Subject: ASoC: rt715-sdw: use first_hw_init flag on resume |
| |
| From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> |
| |
| [ Upstream commit dbc07517ab173688ef11234d1099bc1e24e4f14b ] |
| |
| 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: d1ede0641b05e ('ASoC: rt715: add RT715 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-11-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/rt715-sdw.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/sound/soc/codecs/rt715-sdw.c b/sound/soc/codecs/rt715-sdw.c |
| index 8f0aa1e8a273..361a90ae594c 100644 |
| --- a/sound/soc/codecs/rt715-sdw.c |
| +++ b/sound/soc/codecs/rt715-sdw.c |
| @@ -541,7 +541,7 @@ static int __maybe_unused rt715_dev_resume(struct device *dev) |
| struct rt715_priv *rt715 = dev_get_drvdata(dev); |
| unsigned long time; |
| |
| - if (!rt715->hw_init) |
| + if (!rt715->first_hw_init) |
| return 0; |
| |
| if (!slave->unattach_request) |
| -- |
| 2.30.2 |
| |