Commit e0112a7c authored by Dan Carpenter's avatar Dan Carpenter Committed by Greg Kroah-Hartman

staging: emxx_udc: fix loop in _nbu2ss_nuke()

The _nbu2ss_ep_done() function calls:

	list_del_init(&req->queue);

which means that the loop will never exit.

Fixes: ca3d253e ("Staging: emxx_udc: Iterate list using list_for_each_entry")
Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Link: https://lore.kernel.org/r/YKUd0sDyjm/lkJfJ@mwandaSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent d07f6ca9
...@@ -2064,7 +2064,7 @@ static int _nbu2ss_nuke(struct nbu2ss_udc *udc, ...@@ -2064,7 +2064,7 @@ static int _nbu2ss_nuke(struct nbu2ss_udc *udc,
struct nbu2ss_ep *ep, struct nbu2ss_ep *ep,
int status) int status)
{ {
struct nbu2ss_req *req; struct nbu2ss_req *req, *n;
/* Endpoint Disable */ /* Endpoint Disable */
_nbu2ss_epn_exit(udc, ep); _nbu2ss_epn_exit(udc, ep);
...@@ -2076,7 +2076,7 @@ static int _nbu2ss_nuke(struct nbu2ss_udc *udc, ...@@ -2076,7 +2076,7 @@ static int _nbu2ss_nuke(struct nbu2ss_udc *udc,
return 0; return 0;
/* called with irqs blocked */ /* called with irqs blocked */
list_for_each_entry(req, &ep->queue, queue) { list_for_each_entry_safe(req, n, &ep->queue, queue) {
_nbu2ss_ep_done(ep, req, status); _nbu2ss_ep_done(ep, req, status);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment