Re: [PATCH] usb-core: Add MS_INTR_BINTERVAL USB quirk

From: Samuel Thibault
Date: Sun Mar 12 2017 - 17:47:29 EST


Alan Stern, on dim. 12 mars 2017 17:18:51 -0400, wrote:
> Interesting. This is a high-speed device that mistakenly uses the
> low/full-speed encoding for an interrupt bInterval value?

Yes...

> That's pretty unusual. Most HID devices (which includes the Braille
> devices I have heard of) run at low speed, and a few of them run at
> full speed. I can't remember any running at high speed.

That's the first device for which we have such issue. We'll try to
check whether some other devices need the same quirk.

> > + */
> > + /*
> > + * This quirk fixes bIntervals reported in ms.
> > + */
> > + if (to_usb_device(ddev)->quirks &
> > + USB_QUIRK_MS_INTR_BINTERVAL)
> > + i = j = n;
>
> You want to use the bInterval value the device intended to provide, not
> a default value.

n is alreay computed as such above, but OK :) (and better clamp anyway)

> > + /* Baum Vario Ultra */
> > + { USB_DEVICE(0x0904, 0x6101), .driver_info =
> > + USB_QUIRK_MS_INTR_BINTERVAL },
> > + { USB_DEVICE(0x0904, 0x6102), .driver_info =
> > + USB_QUIRK_MS_INTR_BINTERVAL },
> > + { USB_DEVICE(0x0904, 0x6103), .driver_info =
> > + USB_QUIRK_MS_INTR_BINTERVAL },
>
> You didn't read the comment at the start of the file. :-) This list
> is supposed to remain sorted by vendor and product ID.

D'oh, sorry :)

Samuel