On 06.03.2018 04:24, Cyril Roelandt wrote:
Hi,

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

git://git.kernel.org/pub/scm/linux/kernel/git/mnyman/xhci.git
https://git.kernel.org/pub/scm/linux/kernel/git/mnyman/xhci.git

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:

dmesg:

...
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 
stopped.

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.

Thanks
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