Re: [PATCH 2/2] USB: misc: Add onboard_usb_hub driver

From: Alan Stern
Date: Tue Sep 15 2020 - 22:14:27 EST


On Tue, Sep 15, 2020 at 04:03:45PM -0700, Matthias Kaehlcke wrote:
> Hi Peter,
>
> On Tue, Sep 15, 2020 at 07:05:38AM +0000, Peter Chen wrote:

> > Whether or not it is a wakeup_source, it could get through its or its children's
> > /sys/../power/wakeup value, you have already used usb_wakeup_enabled_descendants
> > to know it.
>
> I conceptually agree, but in practice there are some conflicting details:
>
> wakeup for the hubs on my system is by default disabled, yet USB wakeup works
> regardless, so the flag doesn't really provide useful information. I guess we
> could still use it if there is no better way, but it doesn't seem ideal.

The wakeup setting for USB hubs affects only the following events: port
connect, port disconnect, and port overcurrent. It does not refer to
forwarding wakeup requests from downstream USB devices; that is always
enabled. So maybe your wakeup flag really is accurate and you didn't
realize it.

> Similar for udev->bus->controller, according to sysfs it doesn't even have wakeup
> support. Please let me know if there is a reliable way to check if wakeup is
> enabled on the controller of a device.

The host controller's sysfs wakeup setting should always be correct. If
it isn't, that indicates there is a bug in the host controller driver or
the corresponding platform-specific code. What driver does your system
use?

Alan Stern