diff options
author | 2014-02-28 14:31:57 -0600 | |
---|---|---|
committer | 2014-02-28 16:13:09 -0800 | |
commit | 5da43afc2b73795e82c4bc3e53a4a177a02637d0 (patch) | |
tree | 049941c751b72206569d778bf468336599f83cd8 /tools/perf/scripts/python/syscall-counts.py | |
parent | usb: wusbcore: fix stranded URB after HWA unplug (diff) | |
download | wireguard-linux-5da43afc2b73795e82c4bc3e53a4a177a02637d0.tar.xz wireguard-linux-5da43afc2b73795e82c4bc3e53a4a177a02637d0.zip |
usb: wusbcore: prevent urb dequeue and giveback race
This patch takes a reference to the wa_xfer object in wa_urb_dequeue to
prevent the urb giveback code from completing the xfer and freeing it
while wa_urb_dequeue is executing. It also checks for done at the start
to avoid a double completion scenario. Adding the check for done in
urb_dequeue means that any other place where a submitted transfer
segment is marked as done must complete the transfer if it is done.
__wa_xfer_delayed_run was not checking this case so that check was added
as well.
Signed-off-by: Thomas Pugliese <thomas.pugliese@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'tools/perf/scripts/python/syscall-counts.py')
0 files changed, 0 insertions, 0 deletions