Loading drivers/usb/dwc3/gadget.c +15 −0 Original line number Diff line number Diff line Loading @@ -824,6 +824,21 @@ static void dwc3_remove_requests(struct dwc3 *dwc, struct dwc3_ep *dep) dwc3_gadget_giveback(dep, req, -ESHUTDOWN); } if (dep->number == 1 && dwc->ep0state != EP0_SETUP_PHASE) { unsigned int dir; dbg_log_string("CTRLPEND", dwc->ep0state); dir = !!dwc->ep0_expect_in; if (dwc->ep0state == EP0_DATA_PHASE) dwc3_ep0_end_control_data(dwc, dwc->eps[dir]); else dwc3_ep0_end_control_data(dwc, dwc->eps[!dir]); dwc->eps[0]->trb_enqueue = 0; dwc->eps[1]->trb_enqueue = 0; } dbg_log_string("DONE for %s(%d)", dep->name, dep->number); } Loading Loading
drivers/usb/dwc3/gadget.c +15 −0 Original line number Diff line number Diff line Loading @@ -824,6 +824,21 @@ static void dwc3_remove_requests(struct dwc3 *dwc, struct dwc3_ep *dep) dwc3_gadget_giveback(dep, req, -ESHUTDOWN); } if (dep->number == 1 && dwc->ep0state != EP0_SETUP_PHASE) { unsigned int dir; dbg_log_string("CTRLPEND", dwc->ep0state); dir = !!dwc->ep0_expect_in; if (dwc->ep0state == EP0_DATA_PHASE) dwc3_ep0_end_control_data(dwc, dwc->eps[dir]); else dwc3_ep0_end_control_data(dwc, dwc->eps[!dir]); dwc->eps[0]->trb_enqueue = 0; dwc->eps[1]->trb_enqueue = 0; } dbg_log_string("DONE for %s(%d)", dep->name, dep->number); } Loading