aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/hid/usbhid
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/hid/usbhid')
-rw-r--r--drivers/hid/usbhid/hid-core.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/hid/usbhid/hid-core.c b/drivers/hid/usbhid/hid-core.c
index 2afc8617f591..6383145b5840 100644
--- a/drivers/hid/usbhid/hid-core.c
+++ b/drivers/hid/usbhid/hid-core.c
@@ -874,6 +874,15 @@ static int usbhid_start(struct hid_device *hid)
874 874
875 set_bit(HID_STARTED, &usbhid->iofl); 875 set_bit(HID_STARTED, &usbhid->iofl);
876 876
877 /* Some keyboards don't work until their LEDs have been set.
878 * Since BIOSes do set the LEDs, it must be safe for any device
879 * that supports the keyboard boot protocol.
880 */
881 if (interface->desc.bInterfaceSubClass == USB_INTERFACE_SUBCLASS_BOOT &&
882 interface->desc.bInterfaceProtocol ==
883 USB_INTERFACE_PROTOCOL_KEYBOARD)
884 usbhid_set_leds(hid);
885
877 return 0; 886 return 0;
878 887
879fail: 888fail: