David Brownell <david-b@xxxxxxxxxxx> writes: > On Sunday 06 December 2009, Robert Jarzmik wrote: > Dropping the lock before complete() is exactly the right thing to do. Good, just as Alan said too. > But make sure your ep_queue() method understands that sometimes it's > only supposed to *queue* and not activate tx/rx. Yes, I understand. A kind of atomic count, on all methods called from gadget, which prevents reentrance (ie. no chains queue()->...->complete()->queue()). As I have a bit of luck, all transfers are triggered through handle_ep(), which if not called won't trigger any rx/tx (if counter was incremented). Thanks for the info. -- Robert -- 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