|
@@ -1026,12 +1026,15 @@ static int usbhid_start(struct hid_device *hid)
|
|
|
/* Some keyboards don't work until their LEDs have been set.
|
|
|
* Since BIOSes do set the LEDs, it must be safe for any device
|
|
|
* that supports the keyboard boot protocol.
|
|
|
+ * In addition, enable remote wakeup by default for all keyboard
|
|
|
+ * devices supporting the boot protocol.
|
|
|
*/
|
|
|
if (interface->desc.bInterfaceSubClass == USB_INTERFACE_SUBCLASS_BOOT &&
|
|
|
interface->desc.bInterfaceProtocol ==
|
|
|
- USB_INTERFACE_PROTOCOL_KEYBOARD)
|
|
|
+ USB_INTERFACE_PROTOCOL_KEYBOARD) {
|
|
|
usbhid_set_leds(hid);
|
|
|
-
|
|
|
+ device_set_wakeup_enable(&dev->dev, 1);
|
|
|
+ }
|
|
|
return 0;
|
|
|
|
|
|
fail:
|