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

This reverts commit 5a603f4c12 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 e0f0b200a5
commit 2e00a2dc61
3 changed files with 2 additions and 15 deletions

View File

@@ -1566,17 +1566,6 @@ int xhci_hub_status_data(struct usb_hcd *hcd, char *buf)
status = bus_state->resuming_ports; 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; 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. */ /* For each port, did anything change? If so, set that bit in buf. */

View File

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

View File

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