summaryrefslogtreecommitdiff
path: root/drivers/usb/class
diff options
context:
space:
mode:
authorJohan Hovold <jhovold@gmail.com>2010-08-04 13:45:57 (GMT)
committerGreg Kroah-Hartman <gregkh@suse.de>2010-08-10 21:35:45 (GMT)
commitb58af4066d240b18b43f202e07b9ec7461d90b17 (patch)
treea6f04122c5849383b0981d0a130bdf787788f1fa /drivers/usb/class
parentb409214c683ed06c26e2cdad0be546ad11463354 (diff)
downloadlinux-b58af4066d240b18b43f202e07b9ec7461d90b17.tar.xz
USB: serial: fix stalled writes
As David VomLehn points out, it was possible to receive an interrupt before clearing the free-urb flag which could lead to the urb being incorrectly marked as busy. For the same reason, move tx_bytes accounting so that it will never be negative. Note that the free-flags set and clear operations do not need any additional locking as they are manipulated while USB_SERIAL_WRITE_BUSY is set. Reported-by: David VomLehn <dvomlehn@cisco.com> Tested-by: David VomLehn <dvomlehn@cisco.com> Signed-off-by: Johan Hovold <jhovold@gmail.com> Cc: stable <stable@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/class')
0 files changed, 0 insertions, 0 deletions