To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.roboticsOpen lugnet.robotics in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 Robotics / 19209
19208  |  19210
Subject: 
One shot interrupt urb issue - usb-ohci.c
Newsgroups: 
lugnet.robotics
Date: 
Tue, 15 Oct 2002 13:59:18 GMT
Original-From: 
P.C. Chan <pc.chan@alcatelNOSPAM.com>
Viewed: 
998 times
  
Dear USB development team,

In integrating of nqc and the legousbtower under linux,  I found an
coding issue with usb-ohci shipped with the 2.4.19 kernel.

Usb-ohci always tries to requeue an interrupt urb on completion but if
the interval is 0, it is supposed to be single shot.

As a result the legousbtower would receive multiple completion callbacks
for a single single-shot interrupt urb.  The transmission would not stop
until the urb is unlinked.

I have made the following temporary patch to address it.

--- usb-ohci.c.orig     Mon Oct 14 23:13:36 2002
+++ usb-ohci.c  Mon Oct 14 23:19:19 2002
@@ -486,6 +486,11 @@
                                 usb_pipeout (urb->pipe)
                                         ? PCI_DMA_TODEVICE
                                         : PCI_DMA_FROMDEVICE);
+                        if (urb->interval == 0) {
+                          urb_rm_priv (urb);
+                          urb->complete (urb);
+                          break;
+                        }
                         urb->complete (urb);

                         /* implicitly requeued */

Would you please look into it.

Thank you,
P.C. Chan


--
MIME ATTACHMENTS DISCARDED:

1.  Content-Type: text/plain;
     name="usb-uhci.c.1.273.diff"
    Content-Transfer-Encoding: 7bit
    Content-Disposition: inline;
     filename="usb-uhci.c.1.273.diff"
    Content-Length: 737



1 Message in This Thread:

Entire Thread on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

Custom Search

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR