On Mon, 16 Jan 2012, Oliver Neukum wrote: > OK, before we contine, one question. It seems to me that you > are making a fundamental assumption here: > > 1. During the execution of a command, we never suspend > a host controller Yes (assuming you mean a USB host controller here). This seems like a reasonable assumption; until the command is complete we still have to get the final status, so there's no reason to suspend. Besides, we can't suspend the host controller without also suspending all the devices below it, including the device which is currently running the command. > 2. There are no sequences of commands within which the > host controller and devices must not be suspended unless > the block layer knows about them. > > Are you making this assumption and if so, why? Yes, although one has to be careful here. For example, you can send a CD drive a command to start playing an audio disc; the command will complete right away but you don't want to suspend the drive while it is playing. If there are any examples like this which apply to block commands, we will somehow have to take them into account explicitly. 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