On Wed, 25 Jan 2012, Sebastian Andrzej Siewior wrote: > 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 as long as it is not the ep0 > request > > Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> > --- > v1..v2: rebase on top of v2 of the previous patch > > drivers/usb/gadget/dummy_hcd.c | 9 ++++----- > 1 files changed, 4 insertions(+), 5 deletions(-) > > diff --git a/drivers/usb/gadget/dummy_hcd.c b/drivers/usb/gadget/dummy_hcd.c > index 4141b27..492909e 100644 > --- a/drivers/usb/gadget/dummy_hcd.c > +++ b/drivers/usb/gadget/dummy_hcd.c > @@ -596,14 +596,13 @@ 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 || (_ep->name == ep0name)) { > + pr_err("%s() Can not free req: ep %p req %p ep0? %d\n", > + __func__, _ep, _req, _ep->name == ep0name); I'd like to avoid pr_err. Can you use dev_err instead? Or just omit the error message? Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html