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

Commit f99987bb authored by Sebastian Andrzej Siewior's avatar Sebastian Andrzej Siewior Committed by Felipe Balbi
Browse files

usb: gadget: dummy_hcd: allow to free requests on disabled endpoints



ep->desc is set to NULL on endpoint disable. That means once an endpoint
is disabled it is not possible to free requests. In my target gadget I
first disable endpoints to make sure I have no requests on the fly and
then free frequests. On dummy I am leaking memory here.
Since I can't imagine a reason why it should be a bad thing, lets allow
to free requests on disabled endpoints. On removal of composite the ep0
request is removed so lets allow that here as well.

Signed-off-by: default avatarSebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
parent 2e87edf4
Loading
Loading
Loading
Loading
+3 −5
Original line number Diff line number Diff line
@@ -595,14 +595,12 @@ static struct usb_request *dummy_alloc_request(struct usb_ep *_ep,

static void dummy_free_request(struct usb_ep *_ep, struct usb_request *_req)
{
	struct dummy_ep		*ep;
	struct dummy_request	*req;

	if (!_ep || !_req)
		return;
	ep = usb_ep_to_dummy_ep(_ep);
	if (!ep->desc && _ep->name != ep0name)
	if (!_ep || !_req) {
		__WARN();
		return;
	}

	req = usb_request_to_dummy_request(_req);
	WARN_ON(!list_empty(&req->queue));