[PATCH] ALSA: hda: avoid reset of sdo_limit

Sameer Pujar spujar at nvidia.com
Wed Aug 19 16:44:33 CEST 2020


By default 'sdo_limit' is initialized with a default value of '8'
as per spec. This is overridden in cases where a different value is
required. However this is getting reset when snd_hdac_bus_init_chip()
is called again, which happens during runtime PM cycle. Avoid reset
by not initializing to default value everytime.

Fixes: 67ae482a59e9 ("ALSA: hda: add member to store ratio for stripe control")
Cc: <stable at vger.kernel.org>
Signed-off-by: Sameer Pujar <spujar at nvidia.com>
---
 sound/hda/hdac_controller.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/sound/hda/hdac_controller.c b/sound/hda/hdac_controller.c
index 011b17c..0e26e96 100644
--- a/sound/hda/hdac_controller.c
+++ b/sound/hda/hdac_controller.c
@@ -538,7 +538,8 @@ bool snd_hdac_bus_init_chip(struct hdac_bus *bus, bool full_reset)
 	 *   { ((num_channels * bits_per_sample * rate/48000) /
 	 *	number of SDOs) >= 8 }
 	 */
-	bus->sdo_limit = 8;
+	if (!bus->sdo_limit)
+		bus->sdo_limit = 8;
 
 	return true;
 }
-- 
2.7.4



More information about the Alsa-devel mailing list