mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-24 09:50:04 +00:00
usb: gadget: composite: remove usage of list iterator past the loop body
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 [1]. Link: https://lore.kernel.org/all/YhdfEIwI4EdtHdym@kroah.com/ Signed-off-by: Jakob Koschel <jakobkoschel@gmail.com> Link: https://lore.kernel.org/r/20220308171818.384491-24-jakobkoschel@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
ac5534188d
commit
d6f4663664
1 changed files with 14 additions and 13 deletions
|
@ -863,14 +863,15 @@ static int set_config(struct usb_composite_dev *cdev,
|
|||
const struct usb_ctrlrequest *ctrl, unsigned number)
|
||||
{
|
||||
struct usb_gadget *gadget = cdev->gadget;
|
||||
struct usb_configuration *c = NULL;
|
||||
struct usb_configuration *c = NULL, *iter;
|
||||
int result = -EINVAL;
|
||||
unsigned power = gadget_is_otg(gadget) ? 8 : 100;
|
||||
int tmp;
|
||||
|
||||
if (number) {
|
||||
list_for_each_entry(c, &cdev->configs, list) {
|
||||
if (c->bConfigurationValue == number) {
|
||||
list_for_each_entry(iter, &cdev->configs, list) {
|
||||
if (iter->bConfigurationValue != number)
|
||||
continue;
|
||||
/*
|
||||
* We disable the FDs of the previous
|
||||
* configuration only if the new configuration
|
||||
|
@ -878,10 +879,10 @@ static int set_config(struct usb_composite_dev *cdev,
|
|||
*/
|
||||
if (cdev->config)
|
||||
reset_config(cdev);
|
||||
c = iter;
|
||||
result = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (result < 0)
|
||||
goto done;
|
||||
} else { /* Zero configuration value - need to reset the config */
|
||||
|
|
Loading…
Reference in a new issue