Re: OHCI hangs after failing to free resources

"Mike Nuss" <[email protected]>
Newsgroups gmane.linux.usb.devel
Message-ID <[email protected]>
David Brownell wrote:
> >> So, trying for some (bad) ASCII art here
> >>
> >>   TDs 1-4 submitted to ED,
> >>   HC completed a few (say, 1 & 2)
> >>
> >>         ed.tail ---------------------------+
> >>         ed.head ----------+                I
> >>                           I                I
> >>                           v                v
> >>         td1 -->  td2 --> td3 --> td4 --> dummy
> >>
> >> Where "td" is like td1, and clearly is not the first TD in
> >> the queue.

Here's what I'm seeing now.

kernel: ohci_hcd 0000:00:13.0: IRQ INTR_SF lossage
kernel: ohci_hcd 0000:00:13.0: done_head:0x0
kernel: finish_unlinks
kernel: finish_unlinks: 0x3e3d440 != 0x3e3d400
kernel: finish_unlinks:skip ed c3e3e280
kernel: ohci_hcd 0000:00:13.0: leak ed c3e3e280 (#82) state 0 (has tds)
kernel: ohci_hcd 0000:00:13.0: free td c3e3d400
kernel: ohci_hcd 0000:00:13.0: freed
kernel: ohci_hcd 0000:00:13.0: stalled endpoint, ed c3e3e280 state 0x1
type intr; next ed 00000000
kernel: ohci_hcd 0000:00:13.0:   info 08405123 MAX=64 DQ SKIP EP=2-IN
DEV=35
kernel: ohci_hcd 0000:00:13.0:   tds: head 03e3d400 DATA0 tail 03e3d400
kernel: ohci_hcd 0000:00:13.0:   -> td c3e3d440; urb c3f39840 index 0;
hw next td 00000000
kernel: ohci_hcd 0000:00:13.0:      info 02140000 CC=0 DATA0 DI=0 IN R
kernel: ohci_hcd 0000:00:13.0:      cbp 03e69505 be 03e6951f (len 27)


As I understand it, the HC will not do any queue processing while HeadP
and TailP are equal (which is the case here; they are both pointing to
dummy). This explains why nothing is happening - the HC will never do
anything more with this endpoint because it doesn't know that the HCD
has added anything to the queue.

To enqueue a new TD, the HCD fills the old dummy TD and appends a new TD
to the end of the list. It should then update TailP. It *looks* like the
HCD appended a TD to the queue next but didn't update ed->dummy or
TailP.

Does that make any sense?

Mike

-------------------------------------------------------------------------
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/
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.