Olav: While going through the HCDs, I found this possible bug in your driver. Do you agree that the patch below is needed? If yes, then I will fold it in with the new urb->status updates.
Alan Stern 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); 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 + if (urb->status != -EINPROGRESS && ep->nextpid != USB_PID_ACK) finish_request(isp116x, ep, urb); } ------------------------------------------------------------------------- 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