On Wed, 25 Apr 2012 11:42:47 -0400 (EDT), Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote: > On Thu, 19 Apr 2012, Alexander Shishkin wrote: > > > I'm using linux-next, and as of today, the call order is still like I > > listed before. The change that introduced this order is 8ae8090c (usb: > > gadget: udc-core: fix asymmetric calls in remove_driver), which is also > > present in "usb-linus" branch of linux-usb tree (that's how, I assume > > it's got to linux-next) and Felipe's "fixes" and "master". > > > > So no, I didn't make this up. ;) > > > > The change seems logical though: udc_stop() may have disabled the usb > > controller, and calling pullup() after that doesn't look very useful. > > Have you tried out this patch? After I upgraded to 3.4-rc4 I > encountered the same problem as you did, and the patch fixed it. > > The two disconnect calls may be redundant; if the UDC driver implements > a pullup method then setting the pullup to 0 ought to cause the gadget > driver's disconnect method to be called. Yes, this reordering fixes the problem. FWIW, Tested-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Regards, -- Alex -- 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