On Wed, 19 Jan 2005, Philipp Schmid wrote:
> I have captured a few dumps when this failure is happening. It ~always~ > happens to the same type of transfer: > > Enqueue: FA 2 ep2in bulk: len 13 short_ok > pack_fifo @ c5d6/2e9c fmrem > CC=f EP=2 DIR=2 CNT=0 LEN=13 MPS=64 TGL=1 ACT=1 FA=2 SPD=0 LST=1 B5=0 > fc00 2840 080d 0002 > unpack_fifo @ c5d7/73 fmrem > CC=f EP=2 DIR=2 CNT=0 LEN=13 MPS=64 TGL=1 ACT=1 FA=2 SPD=0 LST=1 B5=0 > fc00 2840 080d 0002 Philipp, thank you for the failure logs. Could you please try whether the patch below cures the problem, if applied to the latest driver version. Olav --- linux-2.6.9-isp/drivers/usb/host/isp116x-hcd.c.or 2005-01-20 14:21:53.000000000 +0200 +++ linux-2.6.9-isp/drivers/usb/host/isp116x-hcd.c 2005-01-20 15:14:38.000000000 +0200 @@ -344,7 +344,7 @@ static void postproc_atl_queue(struct is cc = PTD_GET_CC(ptd); spin_lock(&urb->lock); - short_not_ok = urb->transfer_flags & URB_SHORT_NOT_OK; + short_not_ok = 1; /* Data underrun is special. For allowed underrun we clear the error and continue as normal. For @@ -353,9 +353,10 @@ static void postproc_atl_queue(struct is we do a STATUS stage. */ if (cc == TD_DATAUNDERRUN){ - if (! short_not_ok){ + if (! (urb->transfer_flags & URB_SHORT_NOT_OK)){ DBG("Allowed data underrun\n"); cc = TD_CC_NOERROR; + short_not_ok = 0; }else{ ep->error_count = 1; if (usb_pipecontrol(urb->pipe)) ------------------------------------------------------- This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting Tool for open source databases. Create drag-&-drop reports. Save time by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc. Download a FREE copy at http://www.intelliview.com/go/osdn_nl _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel