Hi David, On Thu, Jul 17, 2014 at 05:37:44PM +0800, David Laight wrote: > From: Pratyush Anand > ... > > Only side effect of long timeout: If a device was connected before > > suspend, and was removed while system was asleep, then the penalty > > would be the timeout ie 2000 ms. I do not see a way to handle this. I > > can put a FIXME note for this in patch. > ... > > Can't you use the static detection that a device is connected at all? > (ie look at whether the USB1/2 D+/D- lines have been pulled up/down). Unfortunately, there is no way for software(other than CSC bit from xhci registers) to know that a device is attached or not. CSC bit is set only after link training completion. We could have used link status information, if device would have enabled its pullup soon after VBUS ON and then quickly would have moved to polling state. But none of these are predictable, as you would have already seen in analyzer log of one the device (in the snapshot of last mail) that for a long time after VBUS enable device has not enabled pullup. ~Pratyush > > David > > -- 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