On Thu, 5 Jun 2014, Peter Chen wrote: > > > > It is a little strange we call gadget's disconnect at SET_ADDRESS? > > > > How the udc calls gadget driver the disconnection has happened when > > > > the usb cable is disconnected from the host? > > > > > > > > Usually, we call gadget's disconnect at two situations > > > > > > > > - udc's reset handler if udc's speed is not UNKNOWN, it is usually > > > > happened when the host sends reset after enumeration. > > > > - udc's disconnect handler, it is usually happened when the usb > > > > cable is disconnected from host. > > > > > > Hmm, usually the two situations, but according to the commit log, s3c > > > hsotg does not support Disconnected interrupt for device mode, so the > > > second situation does not happen for s3c hsotg, therefore, he has to > > > disconnect the connection before it is connected again. > > > > Why does he need to do that? Why not just skip the disconnect > > notification if the hardware can't detect a disconnect? > > > > We must call gadget driver's disconnect, otherwise, there at least > has a warning when unload module, please refer to __composite_unbind > at drivers/usb/gadget/composite.c The disconnect callback can run just before unbind. That's not a valid reason for doing a disconnect notification as part of SET_ADDRESS. 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