On 06/17/2010 08:24 AM, Alan Stern wrote:
On Wed, 16 Jun 2010, Stephen Warren wrote:
Adding the msleep() works! ...
You should first find out how long the delay needs to be...
It looks like 200ms is the magic value...
All right. We could add a quirk indicating that the device needs a
delay before the Get-Device-Qualifier call. I don't like the idea of
adding an unconditional delay; enumeration already takes too long.
Or more simply, we could add a quirk indicating that the kernel
shouldn't issue the Get-Device-Qualifier call at all. The only reason
it's there is for printing a message in the log when a
high-speed-capable device isn't plugged into a high-speed port.
Removing the entire body of that function doesn't solve the problem; I
see the same issue. Perhaps the issue is more that there needs to be a
delay after the previous command, rather than before
Get-Device-Qualifier. For reference, the usbmon leading up to this was:
e5b6ae80 279907089 S Co:5:001:0 s 23 01 0014 0002 0000 0
e5b6ae80 279907091 C Co:5:001:0 0 0
e5b6ae80 279907101 S Ci:5:000:0 s 80 06 0100 0000 0040 64 <
e5b6ae80 279920151 C Ci:5:000:0 0 8 = 12010002 00000008
e5b6ae80 279920168 S Co:5:001:0 s 23 03 0004 0002 0000 0
e5b6ae80 279920173 C Co:5:001:0 0 0
e5b6ae80 279975091 S Ci:5:001:0 s a3 00 0000 0002 0004 4 <
e5b6ae80 279975098 C Ci:5:001:0 0 4 = 03010000
e5b6ae80 280031090 S Co:5:001:0 s 23 01 0014 0002 0000 0
e5b6ae80 280031092 C Co:5:001:0 0 0
e5b6ae80 280031095 S Co:5:000:0 s 00 05 0002 0000 0000 0
e5b6ae80 280045149 C Co:5:000:0 0 0
e5b6ae80 280063090 S Ci:5:002:0 s 80 06 0100 0000 0012 18 <
e5b6ae80 280481153 C Ci:5:002:0 0 18 = 12010002 00000008 6d0422c1
66100102 0001
e5b6ae80 280481168 S Ci:5:002:0 s 80 06 0600 0000 000a 10 <
e5b6ae80 280483151 C Ci:5:002:0 -32 0
(I should go check that a simple msleep in the function with the
Get-Device-Qualifier invocation removed still does solve it; I expect
that will be fine and will only post if it isn't; I'll go check right now)
--
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