diff --git a/[refs] b/[refs] index c14a0f53aa68..f540c817476d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 69a3d2125796b3452da1b9fce851af96ac24b3a9 +refs/heads/master: 68a2bed130a10cffbf68620f41d08a900b1d776b diff --git a/trunk/drivers/usb/core/urb.c b/trunk/drivers/usb/core/urb.c index e0d9d948218c..16927fa88fbd 100644 --- a/trunk/drivers/usb/core/urb.c +++ b/trunk/drivers/usb/core/urb.c @@ -683,10 +683,13 @@ EXPORT_SYMBOL_GPL(usb_kill_urb); void usb_poison_urb(struct urb *urb) { might_sleep(); - if (!(urb && urb->dev && urb->ep)) + if (!urb) return; atomic_inc(&urb->reject); + if (!urb->dev || !urb->ep) + return; + usb_hcd_unlink_urb(urb, -ENOENT); wait_event(usb_kill_urb_queue, atomic_read(&urb->use_count) == 0); }