• Samuel Thibault's avatar
    usb-core: Add LINEAR_FRAME_INTR_BINTERVAL USB quirk · 222ccd4f
    Samuel Thibault authored
    commit 3243367b upstream.
    
    Some USB 2.0 devices erroneously report millisecond values in
    bInterval. The generic config code manages to catch most of them,
    but in some cases it's not completely enough.
    
    The case at stake here is a USB 2.0 braille device, which wants to
    announce 10ms and thus sets bInterval to 10, but with the USB 2.0
    computation that yields to 64ms.  It happens that one can type fast
    enough to reach this interval and get the device buffers overflown,
    leading to problematic latencies.  The generic config code does not
    catch this case because the 64ms is considered a sane enough value.
    
    This change thus adds a USB_QUIRK_LINEAR_FRAME_INTR_BINTERVAL quirk
    to mark devices which actually report milliseconds in bInterval,
    and marks Vario Ultra devices as needing it.
    Signed-off-by: default avatarSamuel Thibault <samuel.thibault@ens-lyon.org>
    Acked-by: default avatarAlan Stern <stern@rowland.harvard.edu>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    222ccd4f
quirks.c 10.6 KB