On Tue, 10 Apr 2012, Ming Lei wrote: > Looks ehci_bus_resume will do "Force Port Resume" on suspended ports, so > in theory ehci host driver can deal with your case if RUN/STOP is set after > handling port resume as done in attachment patch. The patch does work well > in my box. > > Per ehci spec, RUN/STOP is used to start/stop transactions schedule, so > it should be set after complete of port resume in ehci_bus_resume. No. RUN/STOP should be set before ports are resumed. Otherwise ehci_bus_resume could get preempted, and then there might be a delay longer than 3 ms between the port resume and the first SOF packet. This would cause the device to go back into suspend. > IMO, it isn't a good idea to enable RUN/STOP very soon, which may cause early > SOF sent to resuming ports. The hardware will not send packets to a suspended or a resuming port. Packets can be transmitted only to ports that have finished resuming. 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