ASoC: Intel: Skylake: Correct the ssp rate discovery in skl_get_ssp_clks()
authorPeter Ujfalusi <peter.ujfalusi@linux.intel.com>
Thu, 30 Jun 2022 06:56:37 +0000 (09:56 +0300)
committerMark Brown <broonie@kernel.org>
Thu, 7 Jul 2022 16:16:39 +0000 (17:16 +0100)
The present flag is only set once when one rate has been found to be saved.
This will effectively going to ignore any rate discovered at later time and
based on the code, this is not the intention.

Fixes: bc2bd45b1f7f3 ("ASoC: Intel: Skylake: Parse nhlt and register clock device")
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Cezary Rojewski <cezary.rojewski@intel.com>
Link: https://lore.kernel.org/r/20220630065638.11183-2-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/skylake/skl-nhlt.c

index 2439a57..366f7bd 100644 (file)
@@ -99,7 +99,6 @@ static void skl_get_ssp_clks(struct skl_dev *skl, struct skl_ssp_clk *ssp_clks,
        struct nhlt_fmt_cfg *fmt_cfg;
        struct wav_fmt_ext *wav_fmt;
        unsigned long rate;
-       bool present = false;
        int rate_index = 0;
        u16 channels, bps;
        u8 clk_src;
@@ -113,6 +112,8 @@ static void skl_get_ssp_clks(struct skl_dev *skl, struct skl_ssp_clk *ssp_clks,
                return;
 
        for (i = 0; i < fmt->fmt_count; i++) {
+               bool present = false;
+
                fmt_cfg = &fmt->fmt_config[i];
                wav_fmt = &fmt_cfg->fmt_ext;