Re: [PATCH 01/26] usb: gadget: fsl: remove usage of list iterator past the loop body

From: Linus Torvalds
Date: Sun Mar 06 2022 - 13:40:01 EST


On Sun, Mar 6, 2022 at 9:51 AM Jakob Koschel <jakobkoschel@xxxxxxxxx> wrote:
>
> /* make sure it's actually queued on this endpoint */
> - list_for_each_entry(req, &ep->queue, queue) {
> - if (&req->req == _req)
> + list_for_each_entry(tmp, &ep->queue, queue) {
> + if (&tmp->req == _req) {
> + req = tmp;
> break;
> + }
> }

Honestly, I think many (most?) of these would be a lot cleaner as

list_for_each_entry(tmp, &ep->queue, queue) {
if (&tmp->req != _req)
continue;
req = tmp;
break;
}

and in fact maybe that 'tmp' would be better named 'iter' or similar
(maybe 'pos', which is what the list.h macros themselves use for the
iterator naming), just from a naming standpoint.

Because it's not really some temporary variable, it has a real use.

Linus