Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit adf964ba authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "usb: dwc3: Stop active transfer on control endpoints"

parents 9faae36d 4082e9be
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -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);
}