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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html