• Michael Haboustak's avatar
    Input: HID - handle multi-transascion reports · bf0964dc
    Michael Haboustak authored
    Fixes handling of multi-transaction reports for HID devices. New
    function hid_size_buffers() that calculates the longest report
    for each endpoint and stores the result in the hid_device object.
    These lengths are used to allocate buffers that are large enough
    to store any report on the endpoint. For compatibility, the minimum
    size for an endpoint buffer set to HID_BUFFER_SIZE rather than the
    known optimal case (the longest report length).
    
    It fixes bug #3063 in bugzilla.
    Signed-off-by: default avatarMichael Haboustak <mike-@cinci.rr.com>
    
    I simplified the patch a bit to use just a single buffer size.
    Signed-off-by: default avatarVojtech Pavlik <vojtech@suse.cz>
    Signed-off-by: default avatarDmitry Torokhov <dtor@mail.ru>
    bf0964dc
hid-core.c 53.2 KB