[PATCH] usbhid: automatically set HID_QUIRK_NOGET for keyboards and mice
[deliverable/linux.git] / drivers / usb / input / hid-core.c
index bb1f5211ff9d0608102520b9f6bb9f317aab77b8..061002fc66fcd7f37d1f657de52f36a7e862fb3e 100644 (file)
@@ -1797,6 +1797,14 @@ static struct hid_device *usb_hid_configure(struct usb_interface *intf)
                        (hid_blacklist[n].idProduct == le16_to_cpu(dev->descriptor.idProduct)))
                                quirks = hid_blacklist[n].quirks;
 
+       /* Many keyboards and mice don't like to be polled for reports,
+        * so we will always set the HID_QUIRK_NOGET flag for them. */
+       if (interface->desc.bInterfaceSubClass == USB_INTERFACE_SUBCLASS_BOOT) {
+               if (interface->desc.bInterfaceProtocol == USB_INTERFACE_PROTOCOL_KEYBOARD ||
+                       interface->desc.bInterfaceProtocol == USB_INTERFACE_PROTOCOL_MOUSE)
+                               quirks |= HID_QUIRK_NOGET;
+       }
+
        if (quirks & HID_QUIRK_IGNORE)
                return NULL;
 
This page took 0.025539 seconds and 5 git commands to generate.