RE: [PATCH][RFC] xhci fixes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



And the third log file.

-- 
Paul

> -----Original Message-----
> From: Paul Zimmerman
> Sent: Thursday, October 21, 2010 3:23 PM
> To: 'Sarah Sharp'; 'Andiry Xu'
> Cc: 'linux-usb@xxxxxxxxxxxxxxx'
> Subject: RE: [PATCH][RFC] xhci fixes
> 
> The second log file.
> 
> --
> Paul
> 
> > -----Original Message-----
> > From: Paul Zimmerman
> > Sent: Thursday, October 21, 2010 3:14 PM
> > To: 'Sarah Sharp'; 'Andiry Xu'
> > Cc: 'linux-usb@xxxxxxxxxxxxxxx'
> > Subject: RE: [PATCH][RFC] xhci fixes
> >
> > Hi Sarah, Andiry,
> >
> > I finally have some logs of those issues that I reported before.
> >
> > It takes a more complicated USB setup than before to show these issues. What I have now is this:
> >
> > +----+    +----+                             +----+
> > |Snps|    |USB3|---> USB3 SS BOT device      |USB2|---> USB2 HS webcam
> > |xhci|--->|SS  |---------------------------->|FS  |
> > |ctlr|    |hub |---> USB3 SS BOT device      |hub |
> > +----+    +----+                             +----+
> >
> > I am using a script to do file transfers to/from the BOT devices, and using Cheese to play video
> from
> > the webcam.
> >
> > I am using Linus' 2.6.36 kernel from yesterday, plus a modified version of the debugging patch that
> > Sarah created for this issue, plus John's hub patch.
> >
> > I have 3 logs with 3 different issues. I am attaching the first log, plus the modified debugging
> > patch, to this email. I will send the other 2 logs as replies to this email.
> >
> > event_seg-is-null.log is only a partial log, unfortunately. It doesn't contain the initial instance
> of
> > the problem, so I'm not sure if there is enough info to tell what went wrong. The next 2 logs are
> > complete.
> >
> > I would appreciate if you can glean any clues to the problem from these logs. Thanks.
> >
> > --
> > Paul
> >
> > > -----Original Message-----
> > > From: Paul Zimmerman
> > > Sent: Tuesday, August 24, 2010 11:20 AM
> > > To: 'Andiry Xu'
> > > Cc: Sarah Sharp; linux-usb@xxxxxxxxxxxxxxx
> > > Subject: RE: [PATCH][RFC] xhci fixes
> > >
> > > > From: Andiry Xu [mailto:andiry.xu@xxxxxxx]
> > >
> > > <snip>
> > >
> > > > But I haven't seen td bd415150 and following tds on the endpoint ring.
> > > > I'm afraid the full endpoint ring is not printed, because I allocate 8
> > > > segments for isoc endpoint, but there is only one segment showed in the
> > > > log. Perhaps you only print one segment of isoc endpoint ring?
> > > >
> > > > With your patch, every time when event_seg is NULL, you break out and
> > > > returns. But event_seg will be NULL when a missed service interval event
> > > > is encountered and it's quite normal for isoc transfer. Your patch may
> > > > workaround the issue but it does not help to find the root cause. And
> > > > suppose the do-while will not run infinity. ep->skip is cleared when
> > > > irq_handler found the td on the ring, or when the td_list is empty.
> > > > Since urb_enqueue needs to acquire the lock which is hold by
> > > > irq_handler, it cannot insert tds to the ring. Eventually the td_list is
> > > > empty, and ep->skip is clear.
> > >
> > > Hi Andiry,
> > >
> > > I have some good/bad news (depending on how you look at it).
> > >
> > > I have updated my debug code to print all the ring segments instead of just
> > > one.
> > >
> > > However, our xHCI controller hardware was just updated to the latest version.
> > > With this version, the "event_seg is NULL" case happens *much* less frequently
> > > than before. So far, I have only been able to reproduce it once in over an
> > > hour of intensive testing. Unfortunately, the debug messages had already been
> > > flushed from the log by the time I realized it had occurred.
> > >
> > > Previously, it would happen after just a few startup/shutdown cycles of the
> > > webcam app.
> > >
> > > So it's possible that the problematic case I was seeing was related to some
> > > sort of hardware issue that has now been resolved.
> > >
> > > I will keep trying to capture a dmesg log from when it does happen, just to be
> > > sure.
> > >
> > > --
> > > Paul

Attachment: warn-in-xhci_find_new_dequeue_state.log.gz
Description: warn-in-xhci_find_new_dequeue_state.log.gz


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux