thunderbolt: Replace usage of found with dedicated list iterator variable
authorJakob Koschel <jakobkoschel@gmail.com>
Thu, 24 Mar 2022 07:27:00 +0000 (08:27 +0100)
committerMika Westerberg <mika.westerberg@linux.intel.com>
Mon, 4 Apr 2022 09:31:50 +0000 (12:31 +0300)
To move the list iterator variable into the list_for_each_entry_*()
macro in the future it should be avoided to use the list iterator
variable after the loop body.

To *never* use the list iterator variable after the loop it was
concluded to use a separate iterator variable instead of a
found boolean [1].

This removes the need to use a found variable and simply checking if
the variable was set, can determine if the break/goto was hit.

Link: https://lore.kernel.org/all/CAHk-=wgRr_D8CB-D9Kg-c=EHreAsk5SqXPwr9Y7k9sA6cWXJ6w@mail.gmail.com/
Signed-off-by: Jakob Koschel <jakobkoschel@gmail.com>
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
drivers/thunderbolt/ctl.c

index 4986edf..e92c658 100644 (file)
@@ -158,21 +158,20 @@ static bool tb_cfg_request_is_active(struct tb_cfg_request *req)
 static struct tb_cfg_request *
 tb_cfg_request_find(struct tb_ctl *ctl, struct ctl_pkg *pkg)
 {
-       struct tb_cfg_request *req;
-       bool found = false;
+       struct tb_cfg_request *req = NULL, *iter;
 
        mutex_lock(&pkg->ctl->request_queue_lock);
-       list_for_each_entry(req, &pkg->ctl->request_queue, list) {
-               tb_cfg_request_get(req);
-               if (req->match(req, pkg)) {
-                       found = true;
+       list_for_each_entry(iter, &pkg->ctl->request_queue, list) {
+               tb_cfg_request_get(iter);
+               if (iter->match(iter, pkg)) {
+                       req = iter;
                        break;
                }
-               tb_cfg_request_put(req);
+               tb_cfg_request_put(iter);
        }
        mutex_unlock(&pkg->ctl->request_queue_lock);
 
-       return found ? req : NULL;
+       return req;
 }
 
 /* utility functions */