aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/hid
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/hid')
-rw-r--r--drivers/hid/usbhid/hid-core.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/hid/usbhid/hid-core.c b/drivers/hid/usbhid/hid-core.c
index d8799a18a422..d79100a01b05 100644
--- a/drivers/hid/usbhid/hid-core.c
+++ b/drivers/hid/usbhid/hid-core.c
@@ -1330,6 +1330,15 @@ static int hid_post_reset(struct usb_interface *intf)
1330 return 0; 1330 return 0;
1331} 1331}
1332 1332
1333static int hid_reset_resume(struct usb_interface *intf)
1334{
1335 struct hid_device *hid = usb_get_intfdata(intf);
1336 struct usbhid_device *usbhid = hid->driver_data;
1337
1338 clear_bit(HID_REPORTED_IDLE, &usbhid->iofl);
1339 return hid_post_reset(intf);
1340}
1341
1333int usbhid_get_power(struct hid_device *hid) 1342int usbhid_get_power(struct hid_device *hid)
1334{ 1343{
1335 struct usbhid_device *usbhid = hid->driver_data; 1344 struct usbhid_device *usbhid = hid->driver_data;
@@ -1359,7 +1368,7 @@ static struct usb_driver hid_driver = {
1359#ifdef CONFIG_PM 1368#ifdef CONFIG_PM
1360 .suspend = hid_suspend, 1369 .suspend = hid_suspend,
1361 .resume = hid_resume, 1370 .resume = hid_resume,
1362 .reset_resume = hid_post_reset, 1371 .reset_resume = hid_reset_resume,
1363#endif 1372#endif
1364 .pre_reset = hid_pre_reset, 1373 .pre_reset = hid_pre_reset,
1365 .post_reset = hid_post_reset, 1374 .post_reset = hid_post_reset,