diff --git a/drivers/usb/gadget/legacy/raw_gadget.c b/drivers/usb/gadget/legacy/raw_gadget.c index 4febf8dac7ca..924e7709cc61 100644 --- a/drivers/usb/gadget/legacy/raw_gadget.c +++ b/drivers/usb/gadget/legacy/raw_gadget.c @@ -299,6 +299,8 @@ static int gadget_bind(struct usb_gadget *gadget, } spin_lock_irqsave(&dev->lock, flags); + if (WARN_ON(dev->req)) + usb_ep_free_request(dev->gadget->ep0, dev->req); dev->req = req; dev->req->context = dev; dev->req->complete = gadget_ep0_complete;