Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1676656 > unrolled thread

usb data toggle reset in xhci_endpoint_reset

Started byDennis Wassenberg <dennis.wassenberg@secunet.com>
First post2017-06-28 15:30 +0200
Last post2017-06-28 16:00 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel


Contents

  usb data toggle reset in xhci_endpoint_reset Dennis Wassenberg <dennis.wassenberg@secunet.com> - 2017-06-28 15:30 +0200
    Re: usb data toggle reset in xhci_endpoint_reset Mathias Nyman <mathias.nyman@linux.intel.com> - 2017-06-28 16:00 +0200

#1676656 — usb data toggle reset in xhci_endpoint_reset

FromDennis Wassenberg <dennis.wassenberg@secunet.com>
Date2017-06-28 15:30 +0200
Subjectusb data toggle reset in xhci_endpoint_reset
Message-ID<tXlcC-7iY-21@gated-at.bofh.it>
Hi all,

I have a question regarding the usb data toggle reset patch at https://git.kernel.org/pub/scm/linux/kernel/git/mnyman/xhci.git/log/?h=ep_reset_halt_test

I know that it is just experimental. Now I am in the situation that I need exactly this data toggle reset. I want to flash a radio unit via VBox using XHCI emulation. The radio unit itself is USB 2.0 connected to the host via XHCI (no EHCI available at Lenovo T460s). I made some tests and in some cases it works pretty well. But in some situations I got the following errors:



[  307.703605] usb 2-2: new full-speed USB device number 8 using xhci_hcd
[  310.647551] usb 2-2: new full-speed USB device number 10 using xhci_hcd
[  310.818060] usb 2-2: New USB device found, idVendor=0cad, idProduct=9006
[  310.818065] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  310.818069] usb 2-2: Product: TETRA Radio
[  310.818071] usb 2-2: Manufacturer: Motorola Solutions, Inc.
[  310.819515] xhci_hcd 0000:00:14.0: Endpoint 0x1 ep reset callback called
[  310.819735] xhci_hcd 0000:00:14.0: Reset toggle/seq for slot 11, ep_index: 1
[  310.820200] xhci_hcd 0000:00:14.0: Endpoint 0x82 ep reset callback called
[  310.820417] xhci_hcd 0000:00:14.0: Reset toggle/seq for slot 11, ep_index: 4
[  310.821376] xhci_hcd 0000:00:14.0: Endpoint 0x3 ep reset callback called
[  310.821796] xhci_hcd 0000:00:14.0: Reset toggle/seq for slot 11, ep_index: 5
[  310.822262] xhci_hcd 0000:00:14.0: Endpoint 0x84 ep reset callback called
[  310.822453] xhci_hcd 0000:00:14.0: Reset toggle/seq for slot 11, ep_index: 8
[  357.882021] xhci_hcd 0000:00:14.0: Endpoint 0x1 ep reset callback called
[  357.882257] xhci_hcd 0000:00:14.0: Reset toggle/seq for slot 11, ep_index: 1
[  357.883463] xhci_hcd 0000:00:14.0: Endpoint 0x82 ep reset callback called
[  357.883698] xhci_hcd 0000:00:14.0: Reset toggle/seq for slot 11, ep_index: 4
[  358.163174] xhci_hcd 0000:00:14.0: Endpoint 0x1 ep reset callback called
[  358.163413] xhci_hcd 0000:00:14.0: Reset toggle/seq for slot 11, ep_index: 1
[  358.164459] xhci_hcd 0000:00:14.0: Endpoint 0x82 ep reset callback called
[  358.164694] xhci_hcd 0000:00:14.0: Reset toggle/seq for slot 11, ep_index: 4
[  363.740553] xhci_hcd 0000:00:14.0: Endpoint 0x1 ep reset callback called
[  363.740952] xhci_hcd 0000:00:14.0: Reset toggle/seq for slot 11, ep_index: 1
[  363.742442] xhci_hcd 0000:00:14.0: Endpoint 0x82 ep reset callback called
[  363.742667] xhci_hcd 0000:00:14.0: Reset toggle/seq for slot 11, ep_index: 4
[  363.759807] xhci_hcd 0000:00:14.0: Endpoint 0x3 ep reset callback called
[  363.760047] xhci_hcd 0000:00:14.0: Reset toggle/seq for slot 11, ep_index: 5
[  363.761298] xhci_hcd 0000:00:14.0: Endpoint 0x84 ep reset callback called
[  363.761422] xhci_hcd 0000:00:14.0: Reset toggle/seq for slot 11, ep_index: 8
[  366.364290] xhci_hcd 0000:00:14.0: Endpoint 0x1 ep reset callback called
[  366.364527] xhci_hcd 0000:00:14.0: Reset toggle/seq for slot 11, ep_index: 1
[  366.366071] xhci_hcd 0000:00:14.0: Endpoint 0x82 ep reset callback called
[  366.366296] xhci_hcd 0000:00:14.0: Reset toggle/seq for slot 11, ep_index: 4
[  367.364950] xhci_hcd 0000:00:14.0: Endpoint 0x1 ep reset callback called
[  367.365190] xhci_hcd 0000:00:14.0: Reset toggle/seq for slot 11, ep_index: 1
[  367.366608] xhci_hcd 0000:00:14.0: Endpoint 0x82 ep reset callback called
[  367.366828] xhci_hcd 0000:00:14.0: Reset toggle/seq for slot 11, ep_index: 4
[  368.426103] xhci_hcd 0000:00:14.0: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 1 comp_code 1
[  368.426106] xhci_hcd 0000:00:14.0: Looking for event-dma 0000000308a8e000 trb-start 0000000308a8e020 trb-end 0000000308a8e020 seg-start 0000000308a8e000 seg-end 0000000308a8eff0
[  368.426379] xhci_hcd 0000:00:14.0: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 1 comp_code 1
[  368.426381] xhci_hcd 0000:00:14.0: Looking for event-dma 0000000308a8e010 trb-start 0000000308a8e020 trb-end 0000000308a8e020 seg-start 0000000308a8e000 seg-end 0000000308a8eff0
[  375.608459] usb 2-2: USB disconnect, device number 10

Are there any hints what I can try or can somebody give me a hint whats wrong there?

Thank you & best regards,

Dennis

[toc] | [next] | [standalone]


#1676682

FromMathias Nyman <mathias.nyman@linux.intel.com>
Date2017-06-28 16:00 +0200
Message-ID<tXlFE-7uy-19@gated-at.bofh.it>
In reply to#1676656
On 28.06.2017 16:17, Dennis Wassenberg wrote:
> Hi all,
>
> I have a question regarding the usb data toggle reset patch at https://git.kernel.org/pub/scm/linux/kernel/git/mnyman/xhci.git/log/?h=ep_reset_halt_test
>
> I know that it is just experimental. Now I am in the situation that I need exactly this data toggle reset. I want to flash a radio unit via VBox using XHCI emulation. The radio unit itself is USB 2.0 connected to the host via XHCI (no EHCI available at Lenovo T460s). I made some tests and in some cases it works pretty well. But in some situations I got the following errors:
>

That was based on a really old kernel, you might be better off with trying to add back
this reverted patch on a more recent kernel:

commit 27082e2654dc148078b0abdfc3c8e5ccbde0ebfa
     xhci: Clear the host side toggle manually when endpoint is 'soft reset'

I don't remember why it was reverted anymore, would need to dig through mailing
list etc.

-Mathias

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web