From: Frank Wang <frank.wang@rock-chips.com>
Date: Sun, 18 Sep 2016 08:26:07 +0000 (+0800)
Subject: hid: usbhid: enable hid to wakeup system if it supports remote wakeup
X-Git-Tag: release-20171130_firefly~4^2~749
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=e1653e4dc595bcc912a218f38ede0080e14377e2;p=firefly-linux-kernel-4.4.55.git

hid: usbhid: enable hid to wakeup system if it supports remote wakeup

Refer to E.2 (P67) of Device Class Definition for Human Interface
Devices V1.11, the bmAttributes field of the standard configuration
descriptor bit 5 should be set if the HID support Remote Wakeup.

This patch enable the usb HID to wake up the system if the HID
supports remote wakeup.

Change-Id: I169c49ff6187b6400b91633332a72964caca1a94
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
---

diff --git a/drivers/hid/usbhid/hid-core.c b/drivers/hid/usbhid/hid-core.c
index 0df32fe0e345..5c204a693f0e 100644
--- a/drivers/hid/usbhid/hid-core.c
+++ b/drivers/hid/usbhid/hid-core.c
@@ -1151,6 +1151,10 @@ static int usbhid_start(struct hid_device *hid)
 		usbhid_set_leds(hid);
 		device_set_wakeup_enable(&dev->dev, 1);
 	}
+
+	if (dev->actconfig->desc.bmAttributes & USB_CONFIG_ATT_WAKEUP)
+		device_set_wakeup_enable(&dev->dev, 1);
+
 	return 0;
 
 fail: