Mike Nuss wrote: > 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. >> >> One problem being that by now td1 and td2 should have shown up in >> the donelist, through an IRQ. That would explain the symprom of >> data transfers seeming to stop. >> >> It'd be interesting to see whether there's anything in that donelist; >> if so, that might suggest that the driver somehow lost an IRQ. Try >> printing its value in that "sanitize" path. > > It looks like the donelist is empty. > > user.warn kernel: ohci_hcd 0000:00:13.0: IRQ INTR_SF lossage > user.err kernel: ohci_hcd 0000:00:13.0: done_head:0 > user.warn kernel: finish_unlinks > user.warn kernel: finish_unlinks: 0x2daa480 != 0x2daa440 > user.warn kernel: finish_unlinks:skip ed > user.err kernel: ohci_hcd 0000:00:13.0: leak ed c2b8f140 (#82) state 0 > (has tds) > user.err kernel: ohci_hcd 0000:00:13.0: free td c2daa440 > > Mike
As a followup, I ran into this situation again tonight, with slightly different results. This time, the tick_before check failed, and the donelist was not empty: ohci_hcd 0000:00:13.0: IRQ INTR_SF lossage ohci_hcd 0000:00:13.0: done_head:66216129 ohci_hcd 0000:00:13.0: stalled endpoint, ed c3f25140 state 0x1 type intr; next ed 00000000 ohci_hcd 0000:00:13.0: info 0840512c MAX=64 DQ SKIP EP=2-IN DEV=44 ohci_hcd 0000:00:13.0: tds: head 03f26180 DATA0 tail 03f26180 (not listing) finish_unlinks finish_unlinks:tick_before(0, 16603) finish_unlinks:skip ed I also decided to start dumping the ED when this happens. The SKIP bit is set (it was also set in the case where the donelist was empty). With that bit set by the driver, according to the OHCI spec, the HC will pause queue processing. Is there anything odd about SKIP being set during ohci_endpoint_disable() or is that just a red herring? 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/ _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel