Re: [PATCH] xhci: print warning when HCE was set

From: Mathias Nyman
Date: Fri Oct 14 2022 - 03:54:56 EST


On 14.10.2022 6.12, liulongfang wrote:
On 2022/9/26 15:58, Mathias Nyman wrote:
On 24.9.2022 5.35, liulongfang wrote:
On 2022/9/22 21:01, Mathias Nyman Wrote:
Hi

On 15.9.2022 4.11, Longfang Liu wrote:
When HCE(Host Controller Error) is set, it means that the xhci hardware
controller has an error at this time, but the current xhci driver
software does not log this event.

By adding an HCE event detection in the xhci interrupt processing
interface, a warning log is output to the system, which is convenient
for system device status tracking.


xHC should cease all activity when it sets HCE, and is probably not
generating interrupts anymore.

Would probably be more useful to check for HCE at timeouts than in the
interrupt handler.


Which function of the driver code is this timeout in?

xhci_handle_command_timeout() will usually trigger at some point,


Because this HCE error is reported in the form of an interrupt signal, it is more
concise to put it in xhci_irq() than in xhci_handle_command_timeout().


Patch was added to queue after you reported your xHC hardware triggers interrupts when HCE is set.
I'll send it forward after 6.1-rc1

xHCI specification still indicate HCE might not trigger interrupts:
Section 4.24.1 -Internal Errors
...
"Software should implement an algorithm for checking the HCE flag if the xHC is
not responding."

Thanks
-Mathias