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

Reply via email to