ChangeSet 1.883.3.13, 2002/12/17 21:51:57-08:00, oliver@neukum.name [PATCH] USB: fix an unlinking race in speedtouch driver checking for -EINPROGRESS is wrong. diff -Nru a/drivers/usb/misc/speedtouch.c b/drivers/usb/misc/speedtouch.c --- a/drivers/usb/misc/speedtouch.c Wed Dec 18 00:34:26 2002 +++ b/drivers/usb/misc/speedtouch.c Wed Dec 18 00:34:26 2002 @@ -852,8 +852,7 @@ if ((!ctx->urb) || (!ctx->skb)) continue; - if (ctx->urb->status == -EINPROGRESS) - usb_unlink_urb (ctx->urb); + usb_unlink_urb (ctx->urb); usb_free_urb (ctx->urb); kfree_skb (ctx->skb); @@ -863,8 +862,7 @@ for (i = 0; i < UDSL_NUMBER_SND_URBS; i++) { struct udsl_usb_send_data_context *ctx = &(instance->send_ctx[i]); - if (ctx->urb->status == -EINPROGRESS) - usb_unlink_urb (ctx->urb); + usb_unlink_urb (ctx->urb); if (ctx->skb) ctx->vcc->pop (ctx->vcc, ctx->skb);