From b98fa0dd384f17fee0c1283b91f855b97d1976f4 Mon Sep 17 00:00:00 2001 From: Joakim Tjernlund Date: Mon, 11 May 2020 10:38:07 +0200 Subject: [PATCH 4/5] fsl_udc_stop: Use list_for_each_entry_safe() when deleting Signed-off-by: Joakim Tjernlund --- drivers/usb/gadget/udc/fsl_udc_core.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/usb/gadget/udc/fsl_udc_core.c b/drivers/usb/gadget/udc/fsl_udc_core.c index 4f835332af45..bd3825d9f1d2 100644 --- a/drivers/usb/gadget/udc/fsl_udc_core.c +++ b/drivers/usb/gadget/udc/fsl_udc_core.c @@ -1984,7 +1984,7 @@ static int fsl_udc_start(struct usb_gadget *g, /* Disconnect from gadget driver */ static int fsl_udc_stop(struct usb_gadget *g) { - struct fsl_ep *loop_ep; + struct fsl_ep *loop_ep, *tmp_loop; unsigned long flags; if (!IS_ERR_OR_NULL(udc_controller->transceiver)) @@ -2002,8 +2002,8 @@ static int fsl_udc_stop(struct usb_gadget *g) spin_lock_irqsave(&udc_controller->lock, flags); udc_controller->gadget.speed = USB_SPEED_UNKNOWN; nuke(&udc_controller->eps[0], -ESHUTDOWN); - list_for_each_entry(loop_ep, &udc_controller->gadget.ep_list, - ep.ep_list) + list_for_each_entry_safe(loop_ep, tmp_loop, &udc_controller->gadget.ep_list, + ep.ep_list) nuke(loop_ep, -ESHUTDOWN); spin_unlock_irqrestore(&udc_controller->lock, flags); -- 2.32.0