diff options
| -rw-r--r-- | drivers/hid/usbhid/hid-core.c | 7 | ||||
| -rw-r--r-- | drivers/hid/usbhid/usbkbd.c | 1 | 
2 files changed, 6 insertions, 2 deletions
| diff --git a/drivers/hid/usbhid/hid-core.c b/drivers/hid/usbhid/hid-core.c index 56d06cd8075b..9cd61a52e9e3 100644 --- a/drivers/hid/usbhid/hid-core.c +++ b/drivers/hid/usbhid/hid-core.c @@ -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: diff --git a/drivers/hid/usbhid/usbkbd.c b/drivers/hid/usbhid/usbkbd.c index f843443ba5c3..b2fd0b00de92 100644 --- a/drivers/hid/usbhid/usbkbd.c +++ b/drivers/hid/usbhid/usbkbd.c @@ -313,6 +313,7 @@ static int usb_kbd_probe(struct usb_interface *iface,  		goto fail2;  	usb_set_intfdata(iface, kbd); +	device_set_wakeup_enable(&dev->dev, 1);  	return 0;  fail2:	 | 
