On Fri, Sep 06, 2024 at 01:30:47PM +0800, Kai-Heng Feng wrote: > The HP ProOne 440 has a power saving design that when the display is > off, it also cuts the USB touchscreen device's power off. > > This can cause system early wakeup because cutting the power off the > touchscreen device creates a disconnect event and prevent the system > from suspending: Is the touchscreen device connected directly to the root hub? If it is then it looks like there's a separate bug here, which needs to be fixed. > [ 445.814574] hub 2-0:1.0: hub_suspend > [ 445.814652] usb usb2: bus suspend, wakeup 0 Since the wakeup flag is set to 0, the root hub should not generate a wakeup request when a port-status-change event happens. > [ 445.824629] xhci_hcd 0000:00:14.0: Port change event, 1-11, id 11, portsc: 0x202a0 > [ 445.824639] xhci_hcd 0000:00:14.0: resume root hub But it did. This appears to be a bug in one of the xhci-hcd suspend routines. Alternatively, if the touchscreen device is connected to an intermediate hub then that intermediate hub should not be allowed to generate wakeup events. That's determined by userspace, though, not by the kernel. Alan Stern