staging: greybus: codecs: use dedicated list iterator variable
authorJakob Koschel <jakobkoschel@gmail.com>
Mon, 21 Mar 2022 12:37:12 +0000 (13:37 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 4 Apr 2022 05:33:45 +0000 (07:33 +0200)
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@kroah.com/
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Vaibhav Agarwal <vaibhav.sr@gmail.com>
Reviewed-by: Mark Greer <mgreer@animalcreek.com>
Signed-off-by: Jakob Koschel <jakobkoschel@gmail.com>
Link: https://lore.kernel.org/r/20220321123712.3068778-1-jakobkoschel@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/greybus/audio_codec.c

index b589cf6b1d0348864e72f469d643991769ce27d6..a446d6455fbd7956afe27bcdf4ca296c48d6c47b 100644 (file)
@@ -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",