diff --git a/drivers/usb/gadget/legacy/raw_gadget.c b/drivers/usb/gadget/legacy/raw_gadget.c index 4febf8dac7ca..faed8f9ef54e 100644 --- a/drivers/usb/gadget/legacy/raw_gadget.c +++ b/drivers/usb/gadget/legacy/raw_gadget.c @@ -299,6 +299,10 @@ static int gadget_bind(struct usb_gadget *gadget, } spin_lock_irqsave(&dev->lock, flags); + if (unlikely(dev->req)) { + dev_warn(&gadget->dev, "spurious binding attempt\n"); + usb_ep_free_request(dev->gadget->ep0, dev->req); + } dev->req = req; dev->req->context = dev; dev->req->complete = gadget_ep0_complete;