Am Donnerstag, 17. Juli 2003 01:50 schrieb Nemosoft Unv.:
> Hello,
> 
> On Tuesday 15 July 2003 10:43, Oliver Neukum wrote:
> > > Particularly after taking a quick glance at the code
> > > and not seeing anything that much cared about nonzero
> > > fault codes when the urbs are returned.
> >
> > Hi nemosoft,
> >
> > looking at the 2.5 code error handling seems fishy:
> >
> >     if (urb->status != -EINPROGRESS && urb->status != 0) {
> >             char *errmsg;
> >
> >             errmsg = "Unknown";
> >             switch(urb->status) {
> >                     case -ENOSR:            errmsg = "Buffer error (overrun)"; 
> > break;
> >                     case -EPIPE:            errmsg = "Stalled (device not 
> > responding)"; break;
> >                     case -EOVERFLOW:        errmsg = "Babble (bad cable?)"; break;
> >                     case -EPROTO:           errmsg = "Bit-stuff error (bad 
> > cable?)"; break;
> >                     case -EILSEQ:           errmsg = "CRC/Timeout"; break;
> >                     case -ETIMEDOUT:        errmsg = "NAK (device does not 
> > respond)"; break;
> >             }
> >             Trace(TRACE_FLOW, "pwc_isoc_handler() called with status %d [%s].\n",
> > urb->status, errmsg); return;
> >     }
> >
> > Judging by this code any such error will mean that the URB is not
> > resubmitted. Can this be right?
> 
> Well, it's not resubmitted, period. Even at the end of pwc_isoc_handler() no 
> resubmission is done, at least on 2.4.20. And that seems to work okay. 

For 2.4 this is correct.

> > Shouldn't there be a goto to this piece of code ?
> 
> Goto??!?! Argh! Yuck! Blegh! :-)

Proper use of 'goto' shows the true master of the art.

> >     urb->dev = pdev->udev;
> >     i = usb_submit_urb(urb, GFP_ATOMIC);
> >     if (i != 0)
> >             Err("Error (%d) re-submitting urb in pwc_isoc_handler.\n", i);
> 
> This is for 2.5, right... So that means the URB submission system got 
> changed back again (Duh...) [I haven't really kept up with all the changes 
> in 2.5, only checking if the changes made by others don't break my code. 
> But yes, a resubmission would probably help in this case.

I sent one of the people reporting a hang such a patch.
We'll see.

        Regards
                Oliver



-------------------------------------------------------
This SF.net email is sponsored by: VM Ware
With VMware you can run multiple operating systems on a single machine.
WITHOUT REBOOTING! Mix Linux / Windows / Novell virtual machines at the
same time. Free trial click here: http://www.vmware.com/wl/offer/345/0
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to