Re: orinoco_usb Request For Comments

Oliver Neukum (oliver@neukum.org)
Thu, 26 Jun 2003 23:41:18 +0200


> Please comment, how much of that or what else needs to be done to get
> it in the kernel?

if(dev->read.urb->status == -EINPROGRESS){
warn("%s: Unlinking pending IN urb", __FUNCTION__);
retval = bridge_remove_in_urb(dev);
if(retval){
dbg("retval %d status %d", retval,
dev->read.urb->status);
}
}

Unlink unconditionally.

/* We don't like racing :) */
ctx->outurb->transfer_flags &= ~URB_ASYNC_UNLINK;
usb_unlink_urb(ctx->outurb);
del_timer_sync(&ctx->timer);

But neither do we like sleeping in interrupt. You can't simply unset the flag
if somebody else may be needing it.

More when I am rested :-)

Regards
Oliver

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/