NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kern/55813: Erratic fault related to xhci/usb code "is not head of queue" KASSERTMSG



>Number:         55813
>Category:       kern
>Synopsis:       Erratic fault related to xhci/usb code "is not head of queue" KASSERTMSG
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Nov 18 21:05:00 +0000 2020
>Originator:     Electrolytes
>Release:        CURRENT
>Organization:
>Environment:
NetBSD 9.99.74 amd54
>Description:
When xhci-connected devices (at least one microphone and one webcam) are used, the kernel may fault near line 1035 in usbdi.c at a KASSERTMSG:
KASSERTMSG(xfer == SIMPLEQ_FIRST(&pipe->up_queue) [...])
in usb_transfer_complete.
It's not clear how to get better data and the fault happens erratically (sometimes after a dozen seconds, sometimes after over an hour of use, etc.)
Perhaps this is related to xhci_clear_endpoint_stall_async, e.g. a timing issue between the async task it launches, which appears to clear states which may prevent further attempts to run usb_transfer_complete, and xhci_handle_events.
>How-To-Repeat:
Use a device connected via xhci (probably easier if it streams data constantly) and hope it triggers.
>Fix:



Home | Main Index | Thread Index | Old Index