On Thu, 14 Jun 2007, Olav Kongas wrote: > Hi Alan, > > > Index: usb-2.6/drivers/usb/host/isp116x-hcd.c > > =================================================================== > > --- usb-2.6.orig/drivers/usb/host/isp116x-hcd.c > > +++ usb-2.6/drivers/usb/host/isp116x-hcd.c > > @@ -583,12 +583,15 @@ static void > > finish_atl_transfers(struct > > unpack_fifo(isp116x); > > postproc_atl_queue(isp116x); > > I think it is guaranteed that at this point all the ep's in > active ATL queue have their urb_list non-empty. There's a > relevant BUG_ON() in postproc_atl_queue(). The list_empty() > check below would be unnecessary.
I'll remove the list_empty() test. > > for (ep = isp116x->atl_active; ep; ep = ep->active) > > { > > + if (list_empty(&ep->hep->urb_list)) > > + continue; > > urb = > > container_of(ep->hep->urb_list.next, > > struct urb, urb_list); > > + > > /* USB_PID_ACK check here avoids finishing of > > control transfers, for which TD_DATAUNDERRUN > > occured, while URB_SHORT_NOT_OK was set */ > > - if (urb && urb->status != -EINPROGRESS > ^^^ > Yes, this is wrong. Thanks. As you are already at it, please > remove it. Will do. Thanks for the feedback. Alan Stern ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel