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>
This commit is contained in:
Igor Kotrasinski 2015-09-21 11:30:45 +02:00 committed by Greg Kroah-Hartman
parent 03b0a52822
commit 635e664a6b

View File

@ -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;
}
{