[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d8600868-6e4b-45ab-b328-852b6ac8ecb5@rowland.harvard.edu>
Date: Fri, 6 Sep 2024 10:22:14 -0400
From: Alan Stern <stern@...land.harvard.edu>
To: Kai-Heng Feng <kai.heng.feng@...onical.com>,
Mathias Nyman <mathias.nyman@...ux.intel.com>
Cc: hdegoede@...hat.com, ilpo.jarvinen@...ux.intel.com,
gregkh@...uxfoundation.org, jorge.lopez2@...com,
acelan.kao@...onical.com, platform-driver-x86@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-usb@...r.kernel.org
Subject: Re: [PATCH v3] platform/x86/hp: Avoid spurious wakeup on HP ProOne
440
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
Powered by blists - more mailing lists