--- /dev/null
+From 13c30a755847c7e804e1bf755e66e3ff7b7f9367 Mon Sep 17 00:00:00 2001
+From: Sjoerd Simons <sjoerd@collabora.com>
+Date: Thu, 20 Oct 2022 09:56:24 +0800
+Subject: soundwire: intel: Initialize clock stop timeout
+
+From: Sjoerd Simons <sjoerd@collabora.com>
+
+commit 13c30a755847c7e804e1bf755e66e3ff7b7f9367 upstream.
+
+The bus->clk_stop_timeout member is only initialized to a non-zero value
+during the codec driver probe. This can lead to corner cases where this
+value remains pegged at zero when the bus suspends, which results in an
+endless loop in sdw_bus_wait_for_clk_prep_deprep().
+
+Corner cases include configurations with no codecs described in the
+firmware, or delays in probing codec drivers.
+
+Initializing the default timeout to the smallest non-zero value avoid this
+problem and allows for the existing logic to be preserved: the
+bus->clk_stop_timeout is set as the maximum required by all codecs
+connected on the bus.
+
+Fixes: 1f2dcf3a154ac ("soundwire: intel: set dev_num_ida_min")
+Signed-off-by: Sjoerd Simons <sjoerd@collabora.com>
+Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
+Reviewed-by: Chao Song <chao.song@intel.com>
+Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
+Link: https://lore.kernel.org/r/20221020015624.1703950-1-yung-chuan.liao@linux.intel.com
+Signed-off-by: Vinod Koul <vkoul@kernel.org>
+Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/soundwire/intel.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/soundwire/intel.c
++++ b/drivers/soundwire/intel.c
+@@ -1285,6 +1285,7 @@ static int intel_link_probe(struct auxil
+ cdns->msg_count = 0;
+
+ bus->link_id = auxdev->id;
++ bus->clk_stop_timeout = 1;
+
+ sdw_cdns_probe(cdns);
+