diff options
author | Johan Hovold <jhovold@gmail.com> | 2010-08-04 15:45:57 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-08-10 14:35:45 -0700 |
commit | b58af4066d240b18b43f202e07b9ec7461d90b17 (patch) | |
tree | a6f04122c5849383b0981d0a130bdf787788f1fa /drivers/usb/atm/usbatm.h | |
parent | b409214c683ed06c26e2cdad0be546ad11463354 (diff) |
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/atm/usbatm.h')
0 files changed, 0 insertions, 0 deletions