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 2439a574ac2faac2f5ef87555fa49fd8795d276e..366f7bd9bc02a086892835002940896df74563d8 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;