Johan Hovold e144ed28be USB: cdc-acm: fix write and resume race
Fix race between write() and resume() due to improper locking that could
lead to writes being reordered.

Resume must be done atomically and susp_count be protected by the
write_lock in order to prevent racing with write(). This could otherwise
lead to writes being reordered if write() grabs the write_lock after
susp_count is decremented, but before the delayed urb is submitted.

Fixes: 11ea859d64b6 ("USB: additional power savings for cdc-acm devices
that support remote wakeup")

Cc: <stable@vger.kernel.org>	# v2.6.27
Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-27 15:04:09 -07:00
..
2014-04-05 15:37:40 -07:00
2014-04-05 15:37:40 -07:00
2014-05-06 13:05:00 -07:00
2014-04-08 13:27:40 +02:00
2014-04-22 09:28:02 -07:00
2014-04-29 19:23:22 +02:00
2014-04-16 12:28:47 -07:00
2014-05-07 16:28:52 -07:00
2014-04-18 16:40:08 -07:00
2014-04-05 15:38:41 -07:00
2014-05-03 18:14:28 -04:00
2014-04-03 14:05:02 -07:00
2014-04-16 14:07:51 -07:00