diff options
author | Igor Kotrasinski <i.kotrasinsk@samsung.com> | 2015-09-21 11:30:45 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-10-04 10:59:03 +0100 |
commit | 635e664a6b4d4b9c12f507045d156ea419b62dff (patch) | |
tree | f6e18c6921b55b66f522e9ee446b80dadd4fb1ab /drivers/usb/usbip/vhci_hcd.c | |
parent | 03b0a52822fec8fba351fd472f3adda6fd760e77 (diff) | |
download | linux-635e664a6b4d4b9c12f507045d156ea419b62dff.tar.gz linux-635e664a6b4d4b9c12f507045d156ea419b62dff.tar.bz2 linux-635e664a6b4d4b9c12f507045d156ea419b62dff.zip |
usbip: vhci_hcd: at unlink, return -EIDRM if vhci_rx took the urb
In a situation where the urb is about to be returned or was never
there, we should return -EIDRM (as per usb_hcd_check_unlink_urb).
This is exactly the situation when the urb is picked up by vhci_rx
before we access priv.
Return -EIDRM rather than 0 when this happens.
Signed-off-by: Igor Kotrasinski <i.kotrasinsk@samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/usbip/vhci_hcd.c')
-rw-r--r-- | drivers/usb/usbip/vhci_hcd.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/usb/usbip/vhci_hcd.c b/drivers/usb/usbip/vhci_hcd.c index 51145cf92860..7fbe19d5279e 100644 --- a/drivers/usb/usbip/vhci_hcd.c +++ b/drivers/usb/usbip/vhci_hcd.c @@ -631,7 +631,7 @@ static int vhci_urb_dequeue(struct usb_hcd *hcd, struct urb *urb, int status) /* URB was never linked! or will be soon given back by * vhci_rx. */ spin_unlock(&the_controller->lock); - return 0; + return -EIDRM; } { |