On 06.03.2018 04:24, Cyril Roelandt wrote:

On 02/28/18 15:55, Mathias Nyman wrote:

I have a series of even more custom debugging patches.
attached patches apply on 4.13, but seris for both 4.13 and 4.15 can be found 
in the
streams-debug-4.13 and streams-debug-4.15 branches at


Can I ask you to do take logs with these?
no need for the previous diff, it's included

I applied your three patches on top of v4.13 and got the followings logs:


151.747272: xhci_get_hw_deq: ep_index 6 stream_id 1 deq 00000001bd377133
151.747288: xhci_queue_trb: CMD: Set TR Dequeue Pointer Command: deq 
00000001bd377143 stream 1 slot 2 ep 7 flags C
151.747351: xhci_get_hw_deq: ep_index 6 stream_id 2 deq 00000001bd377143

I hope this helps,
Cyril Roelandt.

Thanks, It does
To me it looks like there is a issue with setting the dequeue pointer of a 
stream if
another stream was active while the endpoint stopped.

Basically if we want to cancel a URB on Stream 1, meaning stop entire endpoint 
with all its streams,
and then move stream 1 dequeue pointer forward, we end up setting the dequeue 
pointer of stream 2
as well. Probably because stream 2 was the active stream when the endpoint was 

I can try to write a workaround that sets dequeue pointers for both the stream 
we want, and
the current active stream for each URB canceling.

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

Reply via email to