Hi, On Thu, Oct 16, 2014 at 02:57:59PM +0200, Marek Szyprowski wrote: > Enabling and disabling usb gadget by writing to > /sys/class/udc/*hsotg/soft_connect results in calling udc_start/udc_stop > functions with the same usb gadget driver, so the driver should not WARN > about such case. > > Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> > --- > drivers/usb/dwc2/gadget.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/usb/dwc2/gadget.c b/drivers/usb/dwc2/gadget.c > index 8870e38c1d82..37fda4c03397 100644 > --- a/drivers/usb/dwc2/gadget.c > +++ b/drivers/usb/dwc2/gadget.c > @@ -2892,7 +2892,7 @@ static int s3c_hsotg_udc_start(struct usb_gadget *gadget, > return -EINVAL; > } > > - WARN_ON(hsotg->driver); > + WARN_ON(hsotg->driver && hsotg->driver != driver); the bug is in your ->udc_stop(). You should clear hsotg->driver to NULL there. -- balbi
Attachment:
signature.asc
Description: Digital signature