#14835: libusb syscall stalls when EHCI errors
--------------------------------+----------------------------
Reporter: pulkomandy | Owner: mmlr
Type: bug | Status: new
Priority: normal | Milestone: Unscheduled
Component: Drivers/USB/EHCI | Version: R1/Development
Resolution: | Keywords:
Blocked By: | Blocking:
Has a Patch: 0 | Platform: All
--------------------------------+----------------------------
Comment (by pulkomandy):
While running sigrok-cli:
{{{
KERN: usb xhci 0: KERN: got an interrupt for a non-Event Data TRB!
KERN: usb error xhci 0: TRB 0xb3b3da0 was not found in the endpoint!
KERN: usb xhci 0: KERN: got an interrupt for a non-Event Data TRB!
KERN: usb error xhci 0: TRB 0xb3b3de0 was not found in the endpoint!
KERN: usb xhci 0: got an interrupt for a non-Event Data TRB!
KERN: usb error xhci 0: KERN: TRB 0xb3b3e20 was not found in the endpoint!
KERN: usb xhci 0: got an interrupt for a non-Event Data TRB!
KERN: usb error xhci 0: KERN: TRB 0xb3b3e60 was not found in the endpoint!
KERN: usb xhci 0: got an interrupt for a non-Event Data TRB!
KERN: usb error xhci 0: TRB 0xb3b3ea0 was not found in the endpoint!
KERN: usb xhci 0: got an interrupt for a non-Event Data TRB!
KERN: usb error xhci 0: TRB 0xb3b3ee0 was not found in the endpoint!
KERN: usb xhci 0: got an interrupt for a non-Event Data TRB!
KERN: usb error xhci 0: KERN: TRB 0xb3b3f20 was not found in the endpoint!
KERN: usb xhci 0: got an interrupt for a non-Event Data TRB!
KERN: usb error xhci 0: TRB 0xb3b3f60 was not found in the endpoint!
KERN: usb xhci 0: KERN: got an interrupt for a non-Event Data TRB!
KERN: usb error xhci 0: TRB 0xb3b40a0 was not found in the endpoint!
KERN: usb xhci 0: got an interrupt for a non-Event Data TRB!
KERN: usb error xhci 0: KERN: TRB 0xb3b40e0 was not found in the endpoint!
KERN: usb xhci 0: got an interrupt for a non-Event Data TRB!
KERN: usb error xhci 0: KERN: TRB 0xb3b4120 was not found in the endpoint!
KERN: usb xhci 0: got an interrupt for a non-Event Data TRB!
KERN: usb error xhci 0: KERN: TRB 0xb3b4160 was not found in the endpoint!
KERN: usb xhci 0: KERN: got an interrupt for a non-Event Data TRB!
KERN: usb error xhci 0: KERN: TRB 0xb3b41a0 was not found in the endpoint!
KERN: usb xhci 0: got an interrupt for a non-Event Data TRB!
KERN: usb error xhci 0: KERN: TRB 0xb3b41e0 was not found in the endpoint!
KERN: usb xhci 0: got an interrupt for a non-Event Data TRB!
KERN: usb error xhci 0: KERN: TRB 0xb3b4220 was not found in the endpoint!
KERN: usb xhci 0: got an interrupt for a non-Event Data TRB!
KERN: usb error xhci 0: KERN: TRB 0xb3b4260 was not found in the endpoint!
KERN: usb xhci 0: got an interrupt for a non-Event Data TRB!
KERN: usb error xhci 0: KERN: TRB 0xb3b42a0 was not found in the endpoint!
KERN: usb xhci 0: got an interrupt for a non-Event Data TRB!
KERN: usb error xhci 0: KERN: TRB 0xb3b42e0 was not found in the endpoint!
KERN: usb xhci 0: got an interrupt for a non-Event Data TRB!
KERN: usb error xhci 0: KERN: TRB 0xb3b4320 was not found in the endpoint!
KERN: usb xhci 0: got an interrupt for a non-Event Data TRB!
KERN: usb error xhci 0: KERN: TRB 0xb3b4360 was not found in the endpoint!
}}}
At this point sigrok-cli says there is an error and stalls (I can't kill
it with control C, the main thread is gone but there are worker threads
still running).
Here I unplug the device:
{{{
KERN: usb hub 7: KERN: port 2: device removed
KERN: usb xhci 1: cancel queued transfers for pipe 0xf5719c38 (0)
KERN: usb hub 7: port 2: new device connected
KERN: usb xhci 1: KERN: cancel queued transfers for pipe 0x81feeeb4 (0)
}}}
And a little later:
{{{
KERN: usb xhci 1: got an interrupt for a non-Event Data TRB!
KERN: usb error xhci 1: TRB 0xb3b5260 was not found in the endpoint!
KERN: usb xhci 1: got an interrupt for a non-Event Data TRB!
KERN: usb error xhci 1: KERN: TRB 0xb3b52a0 was not found in the endpoint!
KERN: usb xhci 1: got an interrupt for a non-Event Data TRB!
KERN: usb error xhci 1: KERN: TRB 0xb3b52e0 was not found in the endpoint!
KERN: usb xhci 1: got an interrupt for a non-Event Data TRB!
KERN: usb error xhci 1: KERN: TRB 0xb3b5320 was not found in the endpoint!
KERN: usb xhci 1: got an interrupt for a non-Event Data TRB!
KERN: usb error xhci 1: KERN: TRB 0xb3b5360 was not found in the endpoint!
KERN: usb xhci 1: got an interrupt for a non-Event Data TRB!
KERN: usb error xhci 1: KERN: TRB 0xb3b53a0 was not found in the endpoint!
KERN: usb xhci 1: got an interrupt for a non-Event Data TRB!
KERN: usb error xhci 1: KERN: TRB 0xb3b5460 was not found in the endpoint!
KERN: usb xhci 1: got an interrupt for a non-Event Data TRB!
KERN: usb error xhci 1: KERN: TRB 0xb3b54a0 was not found in the endpoint!
KERN: usb xhci 1: got an interrupt for a non-Event Data TRB!
KERN: usb error xhci 1: KERN: TRB 0xb3b54e0 was not found in the endpoint!
KERN: usb xhci 1: got an interrupt for a non-Event Data TRB!
KERN: usb error xhci 1: KERN: TRB 0xb3b5520 was not found in the endpoint!
KERN: usb xhci 1: got an interrupt for a non-Event Data TRB!
KERN: usb hub 7: KERN: port 2: device removed
KERN: usb xhci 1: cancel queued transfers for pipe 0xf974d648 (0)
KERN: usb xhci 1: KERN: cancel queued transfers for pipe 0xf4840c40 (2)
KERN: usb error xhci 1: unsuccessful command 15, error Context state (19)
}}}
--
Ticket URL: <https://dev.haiku-os.org/ticket/14835#comment:3>
Haiku <https://dev.haiku-os.org>
The Haiku operating system.