Hi, When a xhci USB2.0 port is resuming and waiting for resume signaling, completion of USB_RESUME_TIMEOUT, it just reports the port status as USB_PORT_STAT_SUSPEND, and let the usbcore to check the port status again. https://elixir.bootlin.com/linux/v4.17-rc6/source/drivers/usb/host/xhci-hub.c#L960 USB core just checks the port status in usb_port_resume function and if port status is in suspended state, it clears the port suspend feature. https://elixir.bootlin.com/linux/v4.17-rc6/source/drivers/usb/core/hub.c#L3441 But when system resumes due to a USB remote wakeup event from suspend state, and port which causes remote wakeup is still waiting for resume signaling, usb_port_resume function in this particular case clears the port suspend feature, and wait for 40ms again(USB_RESUME_TIMEOUT). Query regarding above case: Here in this case USB core will miss the wake up event from the port which causes the remote wake. https://elixir.bootlin.com/linux/v4.17-rc6/source/drivers/usb/core/hub.c#L3444 If a port is already resuming and waiting for resume signaling, does it make sense to clear the port suspend feature and wait for 40ms again. Thanks, Anshuman -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html