[PATCH 0/3 v2] usb/hid-core: drain URB queue when going to suspend

From: Daniel Kurtz
Date: Thu Nov 17 2011 - 06:29:08 EST


In some situations, trying to suspend a laptop with an attached USB keyboard
would fail if both NumLock and CapsLock LEDs were lit.
This was due to a race condition between asynchronously submitted
LED-manipulating CTRL URBs and the suspend process.

This is a different solution to the same problem highlighted here:
https://lkml.org/lkml/2011/9/2/391

These patches are against Jiri's hid/for-next branch.

Daniel Kurtz (3):
HID: usbhid: remove LED_ON
HID: usbhid: hid-core: submit queued urbs before suspend
HID: usbhid: defer LED setting to a workqueue

Differences since v1:
* Rebase on hid/for-next
* Solve race with usbhid_stop() [reported by Oliver Neukum]

drivers/hid/hid-input.c | 42 +++++++
drivers/hid/usbhid/hid-core.c | 241 ++++++++++++++++++++++++-----------------
drivers/hid/usbhid/usbhid.h | 3 +-
include/linux/hid.h | 2 +
4 files changed, 187 insertions(+), 101 deletions(-)

--
1.7.3.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/