On Thu, Jul 9, 2009 at 2:25 PM, Alan Stern<stern@xxxxxxxxxxxxxxxxxxx> wrote: >> iii) When windows xp enumerates a gadget and it gets a stall on the >> string desc "0" fetch, it stops fetching device strings. Since most >> gadgets are only tested under windows, if you then request a string >> after it has told you there are no strings, some gadgets will hang. >> > That's close to what the kernel used to do before Daniel's change was > made. Instead of flagging the device we simply failed the fetch. Then > further attempts to retrieve string descriptors would go through the > same procedure and fail in the same way. It wouldn't be hard to flag > the device so that the further attempts could be cut short. > I cannot actually give a vid/pid of a device that hangs. I may be wrong. I have merely observed the usb bus with a catc under windows 98 and xp, and they don't keep asking for strings once fetch for string 0 fails. (After all, a gadget without strings are supposed to have string indexes of 0.) Gadget bugs always lurk. However, if Linux has been working asking for strings without a langid (therefore that don't exist) and failing with stalls, that probably is good enough proof that I am wrong and the "old" Linux way was correct. I don't like the idea of adding flags to solve "potential" problems. Regards, Steve -- 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