On Sun, 15 Jul 2012, Laurent Pinchart wrote: > Hi Eric, > > On Sunday 15 July 2012 20:24:26 Eric Ding wrote: > > On 07/15/2012 08:21 PM, Laurent Pinchart wrote: > > > On Thursday 12 July 2012 16:05:47 Eric Ding wrote: > > >> So... now what, then? Who decides which is the better of two evils: > > >> obvious code duplication vs. layering violation? FWIW, it does seem > > >> like the number of Logitech webcams which aren't USB_CLASS_VIDEO is > > >> finite, including only older webcams, so perhaps listing "every buggy > > >> webcam made by Logitech" in two places (one in UVC code, one in USB core > > >> code) is not an invitation for long-term code maintenance nightmares. > > > > > > I'm fine with both solutions. Handling the quirks in the USB core has my > > > preference, as it would ensure that no race condition will cause any issue > > > at probe time. > > > > So who actually writes an appropriate patch? Like I said before, I'm no > > kernel hacker, so I think it's best if someone more familiar with this > > code than I am actually moves forward with the code mods... :-) > > I can write the patch, but I'd like to first get a confirmation from USB core > developers (Alan ?) that the approach will be accepted. If you would write it, that would be great. I have been far too busy with other things to spend any time on this. AFAICS, the best approach would be to add a subroutine in drivers/usb/core/quirks.c which would be called by usb_detect_quirks() when it sees a Logitech vendor ID. The subroutine would try to determine whether the device was a webcam (by searching for a video-class interface pehaps) and set the RESET_RESUME quirk if it is. That should allow us to eliminate a large number of the existing Logitech quirk entries in the blacklist table, and it would remove the need to keep adding new entries. We can keep entries for any devices the subroutine is unable to identify properly; presumably there won't be many of them. (Of course, that leaves the problem of knowing which entries can be removed and which have to be kept. Maybe you can figure out a good way to do this; I can't.) 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