On Fri, 5 Jul 2013, Victor Yeo wrote:

> May i know which part of the do_set_config() or do_set_interface() has
> to be run in process context?

Well, it's not exactly true that the routine has to run in process
context.  More accurately, it has to run at a time when the main thread
isn't using any of the endpoints or request structures, because
do_set_interface() deallocates the requests and disables the endpoints.

For example, if the main thread was in the middle of executing a SCSI
command, do_set_config() would have to wait until it finished.  The
easiest way to do this is by the exception technique.  That way
do_set_config() is called by the main thread itself, so it knows the
main thread isn't using those structures.

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to