I'm updating our WhiteHEAT driver, and would like to have URB queueing working. I'm using drivers/usb/host/uhci.c. After some time of submitting queued OUT URBS, the system stops. uhci_interrupt() stops being entered, ie, the hardware stops generating interrupts. My machine is still fine in all other regards, so it's not a dead/livelock. It does not appear to be a problem with the toggle bit. With the analyser we see that the bus stops mostly. The SOF item is still "running" (sorry for the horrible USB terminology), but the IN token on EP7 is not being submitted to the WhiteHEAT. If I change the driver to use only one URB on OUT then this does not occur.
Below is the output of /proc/drivers/uhci/hc0. I'm not knowledgeable enough to see any problems in it. I'm hoping someone here can spot something obvious. What I do see, which may not be problems: - Queued QH dfe53180 is 'link'ed from two different QHs - TD dfe5a270 'link's to a QH, instead of having UHCI_PTR_TERM like the rest - Queued QH dfe530f0 'link's to dfe53092, which doesn't seem to exist - The Queued QH list is pointed to twice I'm willing to do testing. ..Stu HC status usbcmd = 00c1 Maxp64 CF RS usbstat = 0000 usbint = 000f usbfrnum = (0)d30 flbaseadd = 1fe54000 sof = 40 stat1 = 0480 stat2 = 0495 PortEnabled PortConnected Frame List Skeleton TD's - skel_term_td [dfe5a1b0] link (1fe5a1b0) e0 Length=0 MaxLen=7ff DT0 EndPt=0 Dev=7f, PID=69(IN) (buf=00000000) Skeleton QH's - skel_bulk_qh [dfe530c0] link (1fe53152) element (1fe5a1e0) 0: [dfe5a1e0] link (00000001) e3 SPD IOC Active NAK Length=7ff MaxLen=3f DT0 EndPt=7 Dev=8, PID=69(IN) (buf=1f9ae660) [dfe53150] link (1fe53182) element (1fe5a270) 0: [dfe5a270] link (1fe53122) e3 SPD IOC Active NAK Length=3f MaxLen=3f DT1 EndPt=4 Dev=8, PID=e1(OUT) (buf=1f9ae160) -- Queued QH's: [dfe53120] link (1fe53182) element (1fe5a2a0) 0: [dfe5a2a0] link (00000001) e3 SPD IOC Active Length=0 MaxLen=3f DT0 EndPt=4 Dev=8, PID=e1(OUT) (buf=1f9ae360) [dfe53180] link (1fe530f2) element (1fe5a210) 0: [dfe5a210] link (00000001) e3 SPD IOC Active Length=0 MaxLen=3f DT0 EndPt=4 Dev=8, PID=69(IN) (buf=1f9ae1e0) [dfe530f0] link (1fe53092) element (1fe5a240) 0: [dfe5a240] link (00000001) e3 SPD IOC Active Length=0 MaxLen=1 DT0 EndPt=7 Dev=8, PID=e1(OUT) (buf=1f9ae3e0) ------------------------------------------------------- This SF.Net email is sponsored by Yahoo. Introducing Yahoo! Search Developer Network - Create apps using Yahoo! Search APIs Find out how you can build Yahoo! directly into your own Applications - visit http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005 _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel