On Thu, 15 May 2025 23:42:50 +0000, Thinh Nguyen wrote:
In any case, this is basically a revert of this change: 6ccb83d6c497 ("usb: xhci: Implement xhci_handshake_check_state() helper")
Can't we just revert or fix the above patch that causes a regression?
Also note that 6ccb83d6c497 claimed to fix actual problems, so disabling it on selected hardware could bring the old bug back:
In some situations where xhci removal happens parallel to xhci_handshake, we encounter a scenario where the xhci_handshake can't succeed, and it polls until timeout.
If xhci_handshake runs until timeout it can on some platforms result in a long wait which might lead to a watchdog timeout.
But on the other hand, xhci_handshake() has long timeouts because the handshakes themselves can take a surprisingly long time (and sometimes still succeed), so any reliance on handshake completing before timeout is frankly a bug in itself.
Regards, Michal