Author Topic: Linux xhci "WARN Event TRB for slot x ep y with no TDs queued?"  (Read 10616 times)

rick7712

  • Member
  • ***
  • Posts: 1
Linux xhci "WARN Event TRB for slot x ep y with no TDs queued?"
« on: January 14, 2017, 11:10:56 am »
Hi,

I'm debugging usb issues on my platform which is running Linux, and I quite often encounter messages like this during file copying on usb drives:

[79078.920948] xhci_hcd 0000:04:00.0: HC gave bad length of 4083 bytes left
[79139.522693] xhci_hcd 0000:04:00.0: WARN Event TRB for slot 3 ep 3 with no TDs queued?
[79139.532536] xhci_hcd 0000:04:00.0: WARN Event TRB for slot 1 ep 2 with no TDs queued?
[79139.542407] xhci_hcd 0000:04:00.0: WARN Event TRB for slot 1 ep 3 with no TDs queued?
[79139.552251] xhci_hcd 0000:04:00.0: WARN Event TRB for slot 4 ep 2 with no TDs queued?
[79139.562110] xhci_hcd 0000:04:00.0: WARN Event TRB for slot 4 ep 3 with no TDs queued?
[79139.571948] xhci_hcd 0000:04:00.0: WARN Event TRB for slot 2 ep 2 with no TDs queued?
[79139.581847] xhci_hcd 0000:04:00.0: WARN Event TRB for slot 2 ep 3 with no TDs queued?
[79140.665814] usb 3-1: reset SuperSpeed USB device number 4 using xhci_hcd
[79141.791780] usb 3-4: reset SuperSpeed USB device number 2 using xhci_hcd
[79142.916747] usb 3-3: reset SuperSpeed USB device number 5 using xhci_hcd
[79144.042481] usb 3-2: reset SuperSpeed USB device number 3 using xhci_hcd


I'm thinking that does the "WARN Event" messages mean the xHC found the Transfer ring is empty? And xHC think it's weird?
And for the reset messages, should I take it as a warning that there's sth bad happened on my USB3.0 link? So the driver try to recover?
Here is the xhci-ring.c: http://ppt.cc/SfNK2

I will also keep reading the xHCI spec to find out the answer of my problem...
Thanks..

Jan Axelson

  • Administrator
  • Frequent Contributor
  • *****
  • Posts: 3033
    • Lakeview Research
Re: Linux xhci "WARN Event TRB for slot x ep y with no TDs queued?"
« Reply #1 on: January 14, 2017, 11:45:30 am »
If the host is resetting all of the USB ports, something has gone very wrong with communications.

What is the host platform and what part of it are you developing?