Revert "xhci: Add grace period after xHC start to prevent premature runtime suspend."

This reverts commit c2f4a72de5 which is
commit 33e321586e37b642ad10594b9ef25a613555cd08 upstream.

It breaks the Android kernel ABI and shouldn't be needed for any normal
Android devices.  If this is needed in the future, it can be brought
back in an ABI-stable manner.

Bug: 161946584
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I6654f57f1f234421ec8573dc741e3e8bdb7e287b
This commit is contained in:
Greg Kroah-Hartman 2022-09-21 11:36:25 +02:00
parent e0659ad4b9
commit a873b7b96f
3 changed files with 2 additions and 15 deletions

View File

@ -1464,17 +1464,6 @@ int xhci_hub_status_data(struct usb_hcd *hcd, char *buf)
status = bus_state->resuming_ports;
/*
* SS devices are only visible to roothub after link training completes.
* Keep polling roothubs for a grace period after xHC start
*/
if (xhci->run_graceperiod) {
if (time_before(jiffies, xhci->run_graceperiod))
status = 1;
else
xhci->run_graceperiod = 0;
}
mask = PORT_CSC | PORT_PEC | PORT_OCC | PORT_PLC | PORT_WRC | PORT_CEC;
/* For each port, did anything change? If so, set that bit in buf. */

View File

@ -149,11 +149,9 @@ int xhci_start(struct xhci_hcd *xhci)
xhci_err(xhci, "Host took too long to start, "
"waited %u microseconds.\n",
XHCI_MAX_HALT_USEC);
if (!ret) {
if (!ret)
/* clear state flags. Including dying, halted or removing */
xhci->xhc_state = 0;
xhci->run_graceperiod = jiffies + msecs_to_jiffies(500);
}
return ret;
}

View File

@ -1820,7 +1820,7 @@ struct xhci_hcd {
/* Host controller watchdog timer structures */
unsigned int xhc_state;
unsigned long run_graceperiod;
u32 command;
struct s3_save s3;
/* Host controller is dying - not responding to commands. "I'm not dead yet!"