• Alan Stern's avatar
    USB: usb_get_string should check the descriptor type · 67f5a4ba
    Alan Stern authored
    This patch (as1218) fixes a problem with a radio-control joystick used
    in the "walkera 4#3" helicopter.  This device responds to the initial
    Get-String-Descriptor request for string 0 (which is really the list
    of supported languages) by sending its config descriptor!  The
    usb_get_string() routine needs to check whether it got the right
    type of descriptor.
    
    Oddly enough, this sort of check is already present in
    usb_get_descriptor().  The patch changes the error code from -EPROTO
    to -ENODATA, because -EPROTO shows up in so many other contexts to
    indicate a hardware failure rather than a firmware error.
    Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
    Tested-by: default avatarGuillermo Jarabo <williamjap@gmail.com>
    Cc: stable <stable@kernel.org>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    
    ===================================================================
    67f5a4ba
message.c 55.6 KB