On Mon, 18 Apr 2011, Roger Quadros wrote: > I was busy with other things last week. I did play with a few things though. > Don't have a fully working solution yet. > > I don't see the DELAYED_STATUS mechanism fitting well with the composite > framework, because, for control transfers like SET_CONFIG, the composite > framework is responsible for the status phase, unlike in file_storage.c where it > is responsible for everything. This sounds like a design flaw in the composite framework. Maybe there should be a control_complete() framework routine that the function drivers can call when they have finished all processing needed for a control transfer. > One way to make it work would be to split the endpoint resetting mechanism and > the FSG state machine's reset mechanism. Currently both are done in > handle_exception. > > We could do the endpoint resetting synchronously in fsg_set_alt() and > fs_disable() and leave the state machine resetting to be done in the thread > (handle_exception) at leisure. This way we can ensure that we don't reset the > endpoints again midway when the thread schedules. I'm not sure that is possible. The setup callback occurs in_interrupt, so it probably is not able to do things like fsg_set_alt(). 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