On Mon, Mar 21, 2022 at 6:07 PM Jakob Koschel <jakobkoschel@xxxxxxxxx> wrote: > > In preparation to limit the scope of the list iterator to the list > traversal loop, use a dedicated pointer to point to the found element [1]. > > Link: https://lore.kernel.org/all/YhdfEIwI4EdtHdym@xxxxxxxxx/ > Signed-off-by: Jakob Koschel <jakobkoschel@xxxxxxxxx> > --- > drivers/staging/greybus/audio_codec.c | 20 ++++++++++++-------- > 1 file changed, 12 insertions(+), 8 deletions(-) > > diff --git a/drivers/staging/greybus/audio_codec.c b/drivers/staging/greybus/audio_codec.c > index b589cf6b1d03..a446d6455fbd 100644 > --- a/drivers/staging/greybus/audio_codec.c > +++ b/drivers/staging/greybus/audio_codec.c > @@ -497,7 +497,7 @@ static int gbcodec_prepare(struct snd_pcm_substream *substream, > struct snd_soc_dai *dai) > { > int ret; > - struct gbaudio_module_info *module; > + struct gbaudio_module_info *module = NULL, *iter; > struct gbaudio_data_connection *data; > struct gb_bundle *bundle; > struct gbaudio_codec_info *codec = dev_get_drvdata(dai->dev); > @@ -511,11 +511,13 @@ static int gbcodec_prepare(struct snd_pcm_substream *substream, > return -ENODEV; > } > > - list_for_each_entry(module, &codec->module_list, list) { > + list_for_each_entry(iter, &codec->module_list, list) { > /* find the dai */ > - data = find_data(module, dai->id); > - if (data) > + data = find_data(iter, dai->id); > + if (data) { > + module = iter; > break; > + } > } > if (!data) { > dev_err(dai->dev, "DATA connection missing\n"); > @@ -563,7 +565,7 @@ static int gbcodec_mute_stream(struct snd_soc_dai *dai, int mute, int stream) > { > int ret; > struct gbaudio_data_connection *data; > - struct gbaudio_module_info *module; > + struct gbaudio_module_info *module = NULL, *iter; > struct gb_bundle *bundle; > struct gbaudio_codec_info *codec = dev_get_drvdata(dai->dev); > struct gbaudio_stream_params *params; > @@ -592,11 +594,13 @@ static int gbcodec_mute_stream(struct snd_soc_dai *dai, int mute, int stream) > return ret; > } > > - list_for_each_entry(module, &codec->module_list, list) { > + list_for_each_entry(iter, &codec->module_list, list) { > /* find the dai */ > - data = find_data(module, dai->id); > - if (data) > + data = find_data(iter, dai->id); > + if (data) { > + module = iter; > break; > + } > } > if (!data) { > dev_err(dai->dev, "%s:%s DATA connection missing\n", > > base-commit: f443e374ae131c168a065ea1748feac6b2e76613 Thanks for sharing this patch Jakob. Reviewed-by: Vaibhav Agarwal <vaibhav.sr@xxxxxxxxx> > -- > 2.25.1 >