From 5da43afc2b73795e82c4bc3e53a4a177a02637d0 Mon Sep 17 00:00:00 2001 From: Thomas Pugliese Date: Fri, 28 Feb 2014 14:31:57 -0600 Subject: [PATCH] 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 Signed-off-by: Greg Kroah-Hartman --- Reading git-format-patch failed