On Tue, Dec 1, 2015 at 11:07 AM, Alan Stern <st...@rowland.harvard.edu> wrote:
> On Tue, 1 Dec 2015, Oliver Neukum wrote:
>
>> On Tue, 2015-12-01 at 10:41 -0500, Alan Stern wrote:
>> > > A recent patch, 7fa40910e0bf5ef32eca49595d950cb24f6402bf, added a
>> > > CONNECTED retry for a different reason and I could simply increase
>> > > this retry time. Any thoughts?
>> >
>> > I don't know.  You've got a non-compliant host combined with an
>> > excessively slow device.  It seems unwise to penalize everybody by
>> > slowing down their resumes (by 500 ms!) just because of this one
>> > bad combination.

I'm now sure the host in "non-compliant". It looks like the USB-persist feature
was created for the loss of "power session" on suspend/resume. Hibernate
will usually remove power and it's just because the BIOS re-enables VBUS
that PC's don't see this problem. Also there doesn't seem to be any spec for
how long after VBUS a 2.0 (or 3.0) device should become CONNECTED.
Most 2.0 or 3.0 hard drive based devices, either using a SATA to USB dongle
or devices like the WD Passport take >500ms to set CONNECTED. I've tested
many different 3.0 devices plugged into a 2.0 only port and all of them take
longer than the 100ms currently needed to succeed.

>> >
>> > On the other hand, I don't have any better ideas.
>>
>> Yet another quirk. Assume this to be necessary only if the port
>> was connected to a quirky device before loss of power.
>
> Yeah, okay.  Although we have no way to know that the non-compliant
> host controller turned off the port power.
>
> Alan, can you provide the vendor and product IDs for your USB-3 flash
> drive?  Or would you prefer to write a patch yourself?

I think the best solution would be to use "wait_for_ss_port_enable()"
(renamed) for 2.0 devices and not just 3.0 devices as discussed in:
http://marc.info/?l=linux-usb&m=143768271119144&w=2

Al Cooper
--
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