USB: mos7840: fix race in led handling
authorJohan Hovold <jhovold@gmail.com>
Fri, 26 Jul 2013 09:55:19 +0000 (11:55 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 26 Jul 2013 21:14:09 +0000 (14:14 -0700)
commit05cf0dec5ccc696a7636c84b265b477173498156
tree83abe5bd4e48655518d3f6d3d9614c41be2ebe94
parent40c24f2893ba0ba7df485871f6aac0c197ceef5b
USB: mos7840: fix race in led handling

Fix race in LED handling introduced by commit 0eafe4de ("USB: serial:
mos7840: add support for MCS7810 devices") which reused the port control
urb for manipulating the LED without making sure that the urb is not
already in use. This could lead to the control urb being manipulated
while in flight.

Fix by adding a dedicated LED urb and ctrlrequest along with a LED-busy
flag to handle concurrency.

Cc: stable@vger.kernel.org
Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/serial/mos7840.c