From: Greg Kroah-Hartman Date: Thu, 8 Dec 2022 20:35:51 +0000 (+0100) Subject: 5.15-stable patches X-Git-Tag: v4.9.336~29 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9e280ff5fee7829cf6e2825bcde4a599d3d61fc3;p=thirdparty%2Fkernel%2Fstable-queue.git 5.15-stable patches added patches: soundwire-intel-initialize-clock-stop-timeout.patch --- diff --git a/queue-5.15/series b/queue-5.15/series index 15011f63884..0cde57459d8 100644 --- a/queue-5.15/series +++ b/queue-5.15/series @@ -37,3 +37,4 @@ xen-netback-ensure-protocol-headers-don-t-fall-in-th.patch xen-netback-do-some-code-cleanup.patch xen-netback-don-t-call-kfree_skb-with-interrupts-dis.patch media-videobuf2-core-take-mmap_lock-in-vb2_get_unmap.patch +soundwire-intel-initialize-clock-stop-timeout.patch diff --git a/queue-5.15/soundwire-intel-initialize-clock-stop-timeout.patch b/queue-5.15/soundwire-intel-initialize-clock-stop-timeout.patch new file mode 100644 index 00000000000..477f9a1e828 --- /dev/null +++ b/queue-5.15/soundwire-intel-initialize-clock-stop-timeout.patch @@ -0,0 +1,45 @@ +From 13c30a755847c7e804e1bf755e66e3ff7b7f9367 Mon Sep 17 00:00:00 2001 +From: Sjoerd Simons +Date: Thu, 20 Oct 2022 09:56:24 +0800 +Subject: soundwire: intel: Initialize clock stop timeout + +From: Sjoerd Simons + +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 +Reviewed-by: Pierre-Louis Bossart +Reviewed-by: Chao Song +Signed-off-by: Bard Liao +Link: https://lore.kernel.org/r/20221020015624.1703950-1-yung-chuan.liao@linux.intel.com +Signed-off-by: Vinod Koul +Signed-off-by: Pierre-Louis Bossart +Signed-off-by: Greg Kroah-Hartman +--- + 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); +