Merge tag 'usb-5.14-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
Pull USB fix from Greg KH: "A single revert of a commit that caused problems in 5.14-rc5 for 5.14-rc6. It has been in linux-next almost all week, and has resolved the issues that were reported on lots of different systems that were not the platform that the change was originally tested on (gotta love SoC cores used in multiple devices from multiple vendors...)" * tag 'usb-5.14-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: Revert "usb: dwc3: gadget: Use list_replace_init() before traversing lists"
This commit is contained in:
@@ -1741,13 +1741,9 @@ static void dwc3_gadget_ep_cleanup_cancelled_requests(struct dwc3_ep *dep)
|
||||
{
|
||||
struct dwc3_request *req;
|
||||
struct dwc3_request *tmp;
|
||||
struct list_head local;
|
||||
struct dwc3 *dwc = dep->dwc;
|
||||
|
||||
restart:
|
||||
list_replace_init(&dep->cancelled_list, &local);
|
||||
|
||||
list_for_each_entry_safe(req, tmp, &local, list) {
|
||||
list_for_each_entry_safe(req, tmp, &dep->cancelled_list, list) {
|
||||
dwc3_gadget_ep_skip_trbs(dep, req);
|
||||
switch (req->status) {
|
||||
case DWC3_REQUEST_STATUS_DISCONNECTED:
|
||||
@@ -1765,9 +1761,6 @@ restart:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!list_empty(&dep->cancelled_list))
|
||||
goto restart;
|
||||
}
|
||||
|
||||
static int dwc3_gadget_ep_dequeue(struct usb_ep *ep,
|
||||
@@ -2976,12 +2969,8 @@ static void dwc3_gadget_ep_cleanup_completed_requests(struct dwc3_ep *dep,
|
||||
{
|
||||
struct dwc3_request *req;
|
||||
struct dwc3_request *tmp;
|
||||
struct list_head local;
|
||||
|
||||
restart:
|
||||
list_replace_init(&dep->started_list, &local);
|
||||
|
||||
list_for_each_entry_safe(req, tmp, &local, list) {
|
||||
list_for_each_entry_safe(req, tmp, &dep->started_list, list) {
|
||||
int ret;
|
||||
|
||||
ret = dwc3_gadget_ep_cleanup_completed_request(dep, event,
|
||||
@@ -2989,9 +2978,6 @@ restart:
|
||||
if (ret)
|
||||
break;
|
||||
}
|
||||
|
||||
if (!list_empty(&dep->started_list))
|
||||
goto restart;
|
||||
}
|
||||
|
||||
static bool dwc3_gadget_ep_should_continue(struct dwc3_ep *dep)
|
||||
|
||||
Reference in New Issue
Block a user