• Jindrich Makovicka's avatar
    HID: check for HID_QUIRK_IGNORE during probing · e5a2a04c
    Jindrich Makovicka authored
    While the hardcoded ignore list is checked in hid_add_device(), the
    user supplied ignore flags are not. Thus, the IGNORE quirk (0x0004)
    cannot be used to stop usbhid from binding devices like iBuddy, which
    has been recently removed from the ignore list due to product ID
    conflict.
    
    This patch adds the user quirk check to hid_add_device(), and makes
    hid_add_device() return -ENODEV when HID_QUIRK_IGNORE bit is set.
    
    HID_QUIRK_NO_IGNORE still takes precedence over HID_QUIRK_IGNORE.
    
    With the patch, iBuddy works properly using libusb when the following
    option is added to modprobe.d:
    
    options usbhid quirks=0x1130:0x0002:0x0004
    Signed-off-by: default avatarJindrich Makovicka <makovick@gmail.com>
    Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
    e5a2a04c
hid-core.c 60.5 KB