On Wed, 3 Mar 2004, David Brownell wrote:
> > You're saying that this code at the end of hcd_submit_urb() is wrong:
> >
> > status = hcd->driver->urb_enqueue (hcd, urb, mem_flags);
> > done:
>
> Yes -- right here should be something like
>
> if (status == -ENOMSG) { /* unlink-during-submit */
> giveback(urb);
> status = 0;
> } else
>
> ... or something very similar. Assuming all the HCDs return ENOMSG
> (or whatever never-given-to-drivers code is chosen) for this case.
This should happen no matter what value status is, so long as it's
non-zero. And by the same reasoning: The URB has already been linked,
the HCD was unable to accept it, so it must be sent to giveback and
submit_urb must return 0.
We can still use -ENOMSG for this unusual case, but it won't matter since
the value won't get sent back to the submitter.
Alan Stern
-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel