In function `ehci_brcm_hub_control`, like following code, it filters out the case where the upper byte of wIndex is nonzero, so it need be replaced with temp. ``` if ((typeReq == GetPortStatus) && (wIndex && wIndex <= ports) && // need to be replaced ehci->reset_done[wIndex-1] && time_after_eq(jiffies, ehci->reset_done[wIndex-1]) && (ehci_readl(ehci, status_reg) & PORT_RESUME)) { ``` Signed-off-by: Haimin Zhang <tcs_kernel@xxxxxxxxxxx> Reported-by: TCS Robot <tcs_robot@xxxxxxxxxxx> --- drivers/usb/host/ehci-brcm.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/usb/host/ehci-brcm.c b/drivers/usb/host/ehci-brcm.c index a1e3290e5459..efcfca162126 100644 --- a/drivers/usb/host/ehci-brcm.c +++ b/drivers/usb/host/ehci-brcm.c @@ -73,9 +73,9 @@ static int ehci_brcm_hub_control( * of RESUME */ if ((typeReq == GetPortStatus) && - (wIndex && wIndex <= ports) && - ehci->reset_done[wIndex-1] && - time_after_eq(jiffies, ehci->reset_done[wIndex-1]) && + (temp < ports) && + ehci->reset_done[temp] && + time_after_eq(jiffies, ehci->reset_done[temp]) && (ehci_readl(ehci, status_reg) & PORT_RESUME)) { /* -- 2.30.1 (Apple Git-130)