HID: blacklist Velleman data acquisition boards
Ian Abbott [Wed, 13 Feb 2013 13:22:45 +0000 (13:22 +0000)]
These are simple data acquistion boards, not HID devices and are handled
by the vmk80xx comedi driver.  At least one of them (10cf:5500)
misidentifies itself as a HID in its USB interface descriptor.  Ignore
all these devices.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>

drivers/hid/hid-core.c
drivers/hid/hid-ids.h

index aad2627..bf44af3 100644 (file)
@@ -2229,6 +2229,14 @@ bool hid_ignore(struct hid_device *hdev)
                    hdev->type != HID_TYPE_USBMOUSE)
                        return true;
                break;
+       case USB_VENDOR_ID_VELLEMAN:
+               /* These are not HID devices.  They are handled by comedi. */
+               if ((hdev->product >= USB_DEVICE_ID_VELLEMAN_K8055_FIRST &&
+                    hdev->product <= USB_DEVICE_ID_VELLEMAN_K8055_LAST) ||
+                   (hdev->product >= USB_DEVICE_ID_VELLEMAN_K8061_FIRST &&
+                    hdev->product <= USB_DEVICE_ID_VELLEMAN_K8061_LAST))
+                       return true;
+               break;
        }
 
        if (hdev->type == HID_TYPE_USBMOUSE &&
index 3a49334..1041052 100644 (file)
 #define USB_DEVICE_ID_UNITEC_USB_TOUCH_0709    0x0709
 #define USB_DEVICE_ID_UNITEC_USB_TOUCH_0A19    0x0a19
 
+#define USB_VENDOR_ID_VELLEMAN         0x10cf
+#define USB_DEVICE_ID_VELLEMAN_K8055_FIRST     0x5500
+#define USB_DEVICE_ID_VELLEMAN_K8055_LAST      0x5503
+#define USB_DEVICE_ID_VELLEMAN_K8061_FIRST     0x8061
+#define USB_DEVICE_ID_VELLEMAN_K8061_LAST      0x8068
+
 #define USB_VENDOR_ID_VERNIER          0x08f7
 #define USB_DEVICE_ID_VERNIER_LABPRO   0x0001
 #define USB_DEVICE_ID_VERNIER_GOTEMP   0x0002