usb: dwc3: gadget: don't prevent gadget from being probed if we fail
authorFelipe Balbi <balbi@ti.com>
Mon, 15 Jul 2013 09:36:35 +0000 (12:36 +0300)
committerBen Hutchings <ben@decadent.org.uk>
Fri, 2 Aug 2013 20:14:55 +0000 (22:14 +0200)
commit cdcedd6981194e511cc206887db661d016069d68 upstream.

In case we fail our ->udc_start() callback, we
should be ready to accept another modprobe following
the failed one.

We had forgotten to clear dwc->gadget_driver back
to NULL and, because of that, we were preventing
gadget driver modprobe from being retried.

Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/usb/dwc3/gadget.c

index b368b83..619ee19 100644 (file)
@@ -1217,6 +1217,7 @@ err1:
        __dwc3_gadget_ep_disable(dwc->eps[0]);
 
 err0:
        __dwc3_gadget_ep_disable(dwc->eps[0]);
 
 err0:
+       dwc->gadget_driver = NULL;
        spin_unlock_irqrestore(&dwc->lock, flags);
 
        return ret;
        spin_unlock_irqrestore(&dwc->lock, flags);
 
        return ret;