Patch "ASoC: simple-card-utils: fix PCM constraint error check" has been added to the 6.3-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    ASoC: simple-card-utils: fix PCM constraint error check

to the 6.3-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     asoc-simple-card-utils-fix-pcm-constraint-error-chec.patch
and it can be found in the queue-6.3 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 9bcf748afa9f316ce25d6738d620c08ad675ab29
Author: Robert Hancock <robert.hancock@xxxxxxxxxx>
Date:   Thu Jun 1 19:19:35 2023 -0600

    ASoC: simple-card-utils: fix PCM constraint error check
    
    [ Upstream commit 635071f5fee31550e921644b2becc42b3ff1036c ]
    
    The code in asoc_simple_startup was treating any non-zero return from
    snd_pcm_hw_constraint_minmax as an error, when this can return 1 in some
    normal cases and only negative values indicate an error.
    
    When this happened, it caused asoc_simple_startup to disable the clocks
    it just enabled and return 1, which was not treated as an error by the
    calling code which only checks for negative return values. Then when the
    PCM is eventually shut down, it causes the clock framework to complain
    about disabling clocks that were not enabled.
    
    Fix the check for snd_pcm_hw_constraint_minmax return value to only
    treat negative values as an error.
    
    Fixes: 5ca2ab459817 ("ASoC: simple-card-utils: Add new system-clock-fixed flag")
    Signed-off-by: Robert Hancock <robert.hancock@xxxxxxxxxx>
    Link: https://lore.kernel.org/r/20230602011936.231931-1-robert.hancock@xxxxxxxxxx
    Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/sound/soc/generic/simple-card-utils.c b/sound/soc/generic/simple-card-utils.c
index 56552a616f21f..1f24344846ae9 100644
--- a/sound/soc/generic/simple-card-utils.c
+++ b/sound/soc/generic/simple-card-utils.c
@@ -314,7 +314,7 @@ int asoc_simple_startup(struct snd_pcm_substream *substream)
 		}
 		ret = snd_pcm_hw_constraint_minmax(substream->runtime, SNDRV_PCM_HW_PARAM_RATE,
 			fixed_rate, fixed_rate);
-		if (ret)
+		if (ret < 0)
 			goto codec_err;
 	}
 



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux