Hi Karthik,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on v5.19-rc5] [also build test WARNING on linus/master] [cannot apply to staging/staging-testing next-20220707] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Karthik-Alapati/staging-greyb... base: 88084a3df1672e131ddc1b4e39eeacfd39864acf config: i386-allyesconfig (https://download.01.org/0day-ci/archive/20220708/202207080123.R3ePp3SE-lkp@i...) compiler: gcc-11 (Debian 11.3.0-3) 11.3.0 reproduce (this is a W=1 build): # https://github.com/intel-lab-lkp/linux/commit/bc295082ef055003c6018b57d3c56c... git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Karthik-Alapati/staging-greybus-don-t-use-index-pointer-after-iter/20220707-183311 git checkout bc295082ef055003c6018b57d3c56c5aefcb65c5 # save the config file mkdir build_dir && cp config build_dir/.config make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash drivers/staging/greybus/
If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot lkp@intel.com
All warnings (new ones prefixed by >>):
drivers/staging/greybus/audio_helper.c: In function 'gbaudio_dapm_free_controls': drivers/staging/greybus/audio_helper.c:128:32: error: expected ';' before 'for' 128 | w_found = false | ^ | ;
drivers/staging/greybus/audio_helper.c:119:14: warning: variable 'w_found' set but not used [-Wunused-but-set-variable]
119 | bool w_found = false; | ^~~~~~~
drivers/staging/greybus/audio_helper.c:118:41: warning: unused variable 'next_w' [-Wunused-variable]
118 | struct snd_soc_dapm_widget *w, *next_w; | ^~~~~~
vim +/w_found +119 drivers/staging/greybus/audio_helper.c
112 113 int gbaudio_dapm_free_controls(struct snd_soc_dapm_context *dapm, 114 const struct snd_soc_dapm_widget *widget, 115 int num) 116 { 117 int i;
118 struct snd_soc_dapm_widget *w, *next_w; 119 bool w_found = false;
120 #ifdef CONFIG_DEBUG_FS 121 struct dentry *parent = dapm->debugfs_dapm; 122 struct dentry *debugfs_w = NULL; 123 #endif 124 125 mutex_lock(&dapm->card->dapm_mutex); 126 for (i = 0; i < num; i++) { 127 /* below logic can be optimized to identify widget pointer */ 128 w_found = false 129 list_for_each_entry_safe(w, next_w, &dapm->card->widgets, 130 list) { 131 if (w->dapm != dapm) 132 continue; 133 if (!strcmp(w->name, widget->name)) { 134 w_found = true; 135 break; 136 } 137 w = NULL; 138 } 139 if (!w_found) { 140 dev_err(dapm->dev, "%s: widget not found\n", 141 widget->name); 142 widget++; 143 continue; 144 } 145 widget++; 146 #ifdef CONFIG_DEBUG_FS 147 if (!parent) 148 debugfs_w = debugfs_lookup(w->name, parent); 149 debugfs_remove(debugfs_w); 150 debugfs_w = NULL; 151 #endif 152 gbaudio_dapm_free_widget(w); 153 } 154 mutex_unlock(&dapm->card->dapm_mutex); 155 return 0; 156 } 157