Re: [PATCH 0/3 v4] ISOC supporting for USB 3.0

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

 



On Thu, 2010-04-22 at 12:43 -0700, Sarah Sharp wrote:
> On Tue, Apr 20, 2010 at 05:54:41PM +0800, Libin Yang wrote:
> > This is the version 4 for ISOC patches. 
> > 
> > The difference from v3 is to add a transfer ring check in 
> > xhci_queue_isoc_tx_prepare() before inserting any tds of the urb to the ring.
> 
> I tested this on my FS webcam that was causing a scheduling while atomic
> oops on the last version of the patch.  With the current 3 isochronous
> patches (but without your patch to allocate bigger ring for isochronous
> endpoints), the driver runs out of room on the endpoint ring (expected)
> and does not oops the system.  I see the isochronous transfers
> successfully canceled, so you've fixed that bug. :)
> 
> With your patch to enlarge the isoc transfer ring, I successfully get
> video out of the FS webcam!
> 
> Unfortunately, I tried it with my HS webcam, and that does not work.
> The log file gets garbled with the amount of messages coming from the
> driver, but I see a lot of "ERROR Transfer event TRB DMA ptr not part of
> current TD" messages.  It seems like the driver and the host controller
> got out of sync somewhere, and the host was giving back transfers for
> isoc TDs, and the driver was skipping over them.  But the log file where
> the transfers were enqueued was garbled, so I can't see exactly what's
> happening.
> 
> I tried applying a patch to turn off a lot of the debugging, and then
> the webcam worked, so I'm not sure if it's an intermittent failure.  I
> need to test more.  In the mean time, the log file I have from the high
> speed webcam failure is at
> 
> http://minilop.net/~sarah/isoc-hs-webcam-v4-patches.tar.gz
> 
> Maybe you can see the problem quicker than I?
> 

Hmm... I'm curious about this. Can you reproduce this issue every time
with debug message on? 

Can you add some debug message to print out the following information
when the error happens?
The address of ep_ring->dequeue, td->last_trb, event and event_dma, and
call xhci_debug_ring(xhci, xhci->event_ring) and xhci_debug_ring(xhci,
ep_ring).

Andiry Xu



--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

  Powered by Linux