:::::: :::::: Manual check reason: "low confidence bisect report" :::::: Manual check reason: "low confidence static check warning: sound/soc/qcom/sc7180.c:163:23: warning: use of uninitialized value 'pll_id' [CWE-457] [-Wanalyzer-use-of-uninitialized-value]" :::::: BCC: lkp@intel.com CC: oe-kbuild-all@lists.linux.dev CC: linux-kernel@vger.kernel.org TO: lvzhaoxiong CC: Mark Brown tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 644e9524388a5dbc6d4f58c492ee9ef7bd4ddf4d commit: 425c5fce8a03c9da70a4c763cd7db22fbb422dcf ASoC: qcom: Add support for ALC5682I-VS codec date: 12 months ago :::::: branch date: 22 hours ago :::::: commit date: 12 months ago config: arm-randconfig-c002-20221125 compiler: arm-linux-gnueabi-gcc (GCC) 12.1.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=425c5fce8a03c9da70a4c763cd7db22fbb422dcf git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git fetch --no-tags linus master git checkout 425c5fce8a03c9da70a4c763cd7db22fbb422dcf # save the config file COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross ARCH=arm KBUILD_USERCFLAGS='-fanalyzer -Wno-error' If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot gcc_analyzer warnings: (new ones prefixed by >>) sound/soc/qcom/sc7180.c: In function 'sc7180_snd_startup': >> sound/soc/qcom/sc7180.c:163:23: warning: use of uninitialized value 'pll_id' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 163 | ret = snd_soc_dai_set_pll(codec_dai, pll_id, pll_source, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 164 | pll_in, pll_out); | ~~~~~~~~~~~~~~~~ 'sc7180_snd_startup': events 1-8 | | 132 | int pll_id, pll_source, pll_in, pll_out, clk_id, ret; | | ^~~~~~ | | | | | (1) region created on stack here | 133 | | 134 | if (!(strcmp(card->name, "sc7180-rt5682-max98357a-1mic"))) { | | ~ | | | | | (2) following 'false' branch (when the strings are non-equal)... |...... | 140 | } else if (!(strcmp(card->name, "sc7180-rt5682s-max98357a-1mic"))) { | | ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | | | | | (3) ...to here | | (4) following 'false' branch (when the strings are non-equal)... |...... | 148 | switch (cpu_dai->id) { | | ~~~~~~ ~~~~~~~~~~~ | | | | | | | (5) ...to here | | (6) following 'case 0:' branch... | 149 | case MI2S_PRIMARY: | | ~~~~ | | | | | (7) ...to here |...... | 163 | ret = snd_soc_dai_set_pll(codec_dai, pll_id, pll_source, | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | | | (8) use of uninitialized value 'pll_id' here | 164 | pll_in, pll_out); | | ~~~~~~~~~~~~~~~~ | >> sound/soc/qcom/sc7180.c:171:23: warning: use of uninitialized value 'clk_id' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 171 | ret = snd_soc_dai_set_sysclk(codec_dai, clk_id, pll_out, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 172 | SND_SOC_CLOCK_IN); | ~~~~~~~~~~~~~~~~~ 'sc7180_snd_startup': events 1-10 | | 132 | int pll_id, pll_source, pll_in, pll_out, clk_id, ret; | | ^~~~~~ | | | | | (1) region created on stack here | 133 | | 134 | if (!(strcmp(card->name, "sc7180-rt5682-max98357a-1mic"))) { | | ~ | | | | | (2) following 'false' branch (when the strings are non-equal)... |...... | 140 | } else if (!(strcmp(card->name, "sc7180-rt5682s-max98357a-1mic"))) { | | ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | | | | | (3) ...to here | | (4) following 'false' branch (when the strings are non-equal)... |...... | 148 | switch (cpu_dai->id) { | | ~~~~~~ ~~~~~~~~~~~ | | | | | | | (5) ...to here | | (6) following 'case 0:' branch... | 149 | case MI2S_PRIMARY: | | ~~~~ | | | | | (7) ...to here |...... | 165 | if (ret) { | | ~ | | | | | (8) following 'false' branch (when 'ret == 0')... |...... | 171 | ret = snd_soc_dai_set_sysclk(codec_dai, clk_id, pll_out, | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | | | (9) ...to here | | (10) use of uninitialized value 'clk_id' here | 172 | SND_SOC_CLOCK_IN); | | ~~~~~~~~~~~~~~~~~ | -- sound/soc/codecs/rt5682s.c: In function 'rt5682s_calibrate': >> sound/soc/codecs/rt5682s.c:2905:29: warning: use of uninitialized value '' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 2905 | unsigned int count, value; | ^~~~~ 'rt5682s_calibrate': event 1 | | 2905 | unsigned int count, value; | | ^~~~~ | | | | | (1) use of uninitialized value '' here | sound/soc/codecs/rt5682s.c: In function 'rt5682s_i2c_probe': sound/soc/codecs/rt5682s.c:3008:22: warning: use of uninitialized value '' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 3008 | unsigned int val; | ^~~ 'rt5682s_i2c_probe': event 1 | | 3008 | unsigned int val; | | ^~~ | | | | | (1) use of uninitialized value '' here | vim +/pll_id +163 sound/soc/qcom/sc7180.c 9e3ecb5b16818a Ajit Pandey 2020-10-27 124 9e3ecb5b16818a Ajit Pandey 2020-10-27 125 static int sc7180_snd_startup(struct snd_pcm_substream *substream) 9e3ecb5b16818a Ajit Pandey 2020-10-27 126 { 9e3ecb5b16818a Ajit Pandey 2020-10-27 127 struct snd_soc_pcm_runtime *rtd = substream->private_data; 9e3ecb5b16818a Ajit Pandey 2020-10-27 128 struct snd_soc_card *card = rtd->card; 9e3ecb5b16818a Ajit Pandey 2020-10-27 129 struct sc7180_snd_data *data = snd_soc_card_get_drvdata(card); 9e3ecb5b16818a Ajit Pandey 2020-10-27 130 struct snd_soc_dai *cpu_dai = asoc_rtd_to_cpu(rtd, 0); 9e3ecb5b16818a Ajit Pandey 2020-10-27 131 struct snd_soc_dai *codec_dai = asoc_rtd_to_codec(rtd, 0); 425c5fce8a03c9 lvzhaoxiong 2021-11-23 132 int pll_id, pll_source, pll_in, pll_out, clk_id, ret; 425c5fce8a03c9 lvzhaoxiong 2021-11-23 133 425c5fce8a03c9 lvzhaoxiong 2021-11-23 134 if (!(strcmp(card->name, "sc7180-rt5682-max98357a-1mic"))) { 425c5fce8a03c9 lvzhaoxiong 2021-11-23 135 pll_source = RT5682_PLL1_S_MCLK; 425c5fce8a03c9 lvzhaoxiong 2021-11-23 136 pll_id = 0; 425c5fce8a03c9 lvzhaoxiong 2021-11-23 137 clk_id = RT5682_SCLK_S_PLL1; 425c5fce8a03c9 lvzhaoxiong 2021-11-23 138 pll_out = RT5682_PLL1_FREQ; 425c5fce8a03c9 lvzhaoxiong 2021-11-23 139 pll_in = DEFAULT_MCLK_RATE; 425c5fce8a03c9 lvzhaoxiong 2021-11-23 140 } else if (!(strcmp(card->name, "sc7180-rt5682s-max98357a-1mic"))) { 425c5fce8a03c9 lvzhaoxiong 2021-11-23 141 pll_source = RT5682S_PLL_S_MCLK; 425c5fce8a03c9 lvzhaoxiong 2021-11-23 142 pll_id = RT5682S_PLL2; 425c5fce8a03c9 lvzhaoxiong 2021-11-23 143 clk_id = RT5682S_SCLK_S_PLL2; 425c5fce8a03c9 lvzhaoxiong 2021-11-23 144 pll_out = RT5682_PLL1_FREQ; 425c5fce8a03c9 lvzhaoxiong 2021-11-23 145 pll_in = DEFAULT_MCLK_RATE; 425c5fce8a03c9 lvzhaoxiong 2021-11-23 146 } 9e3ecb5b16818a Ajit Pandey 2020-10-27 147 9e3ecb5b16818a Ajit Pandey 2020-10-27 148 switch (cpu_dai->id) { 9e3ecb5b16818a Ajit Pandey 2020-10-27 149 case MI2S_PRIMARY: 9e3ecb5b16818a Ajit Pandey 2020-10-27 150 if (++data->pri_mi2s_clk_count == 1) { 9e3ecb5b16818a Ajit Pandey 2020-10-27 151 snd_soc_dai_set_sysclk(cpu_dai, 9e3ecb5b16818a Ajit Pandey 2020-10-27 152 LPASS_MCLK0, 9e3ecb5b16818a Ajit Pandey 2020-10-27 153 DEFAULT_MCLK_RATE, 9e3ecb5b16818a Ajit Pandey 2020-10-27 154 SNDRV_PCM_STREAM_PLAYBACK); 9e3ecb5b16818a Ajit Pandey 2020-10-27 155 } 9e3ecb5b16818a Ajit Pandey 2020-10-27 156 9e3ecb5b16818a Ajit Pandey 2020-10-27 157 snd_soc_dai_set_fmt(codec_dai, 9e3ecb5b16818a Ajit Pandey 2020-10-27 158 SND_SOC_DAIFMT_CBS_CFS | 9e3ecb5b16818a Ajit Pandey 2020-10-27 159 SND_SOC_DAIFMT_NB_NF | 9e3ecb5b16818a Ajit Pandey 2020-10-27 160 SND_SOC_DAIFMT_I2S); 9e3ecb5b16818a Ajit Pandey 2020-10-27 161 9e3ecb5b16818a Ajit Pandey 2020-10-27 162 /* Configure PLL1 for codec */ 425c5fce8a03c9 lvzhaoxiong 2021-11-23 @163 ret = snd_soc_dai_set_pll(codec_dai, pll_id, pll_source, 425c5fce8a03c9 lvzhaoxiong 2021-11-23 164 pll_in, pll_out); 9e3ecb5b16818a Ajit Pandey 2020-10-27 165 if (ret) { 9e3ecb5b16818a Ajit Pandey 2020-10-27 166 dev_err(rtd->dev, "can't set codec pll: %d\n", ret); 9e3ecb5b16818a Ajit Pandey 2020-10-27 167 return ret; 9e3ecb5b16818a Ajit Pandey 2020-10-27 168 } 9e3ecb5b16818a Ajit Pandey 2020-10-27 169 9e3ecb5b16818a Ajit Pandey 2020-10-27 170 /* Configure sysclk for codec */ 425c5fce8a03c9 lvzhaoxiong 2021-11-23 @171 ret = snd_soc_dai_set_sysclk(codec_dai, clk_id, pll_out, 9e3ecb5b16818a Ajit Pandey 2020-10-27 172 SND_SOC_CLOCK_IN); 9e3ecb5b16818a Ajit Pandey 2020-10-27 173 if (ret) 9e3ecb5b16818a Ajit Pandey 2020-10-27 174 dev_err(rtd->dev, "snd_soc_dai_set_sysclk err = %d\n", 9e3ecb5b16818a Ajit Pandey 2020-10-27 175 ret); 9e3ecb5b16818a Ajit Pandey 2020-10-27 176 9e3ecb5b16818a Ajit Pandey 2020-10-27 177 break; 9e3ecb5b16818a Ajit Pandey 2020-10-27 178 case MI2S_SECONDARY: 9e3ecb5b16818a Ajit Pandey 2020-10-27 179 break; 9e3ecb5b16818a Ajit Pandey 2020-10-27 180 case LPASS_DP_RX: 9e3ecb5b16818a Ajit Pandey 2020-10-27 181 break; 9e3ecb5b16818a Ajit Pandey 2020-10-27 182 default: 9e3ecb5b16818a Ajit Pandey 2020-10-27 183 dev_err(rtd->dev, "%s: invalid dai id 0x%x\n", __func__, 9e3ecb5b16818a Ajit Pandey 2020-10-27 184 cpu_dai->id); 9e3ecb5b16818a Ajit Pandey 2020-10-27 185 return -EINVAL; 9e3ecb5b16818a Ajit Pandey 2020-10-27 186 } 9e3ecb5b16818a Ajit Pandey 2020-10-27 187 return 0; 9e3ecb5b16818a Ajit Pandey 2020-10-27 188 } 9e3ecb5b16818a Ajit Pandey 2020-10-27 189 -- 0-DAY CI Kernel Test Service https://01.org/lkp