lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Fri, 5 Aug 2022 11:59:03 -0500
From:   "Limonciello, Mario" <mario.limonciello@....com>
To:     "Rafael J. Wysocki" <rjw@...ysocki.net>,
        Jiri Kosina <jikos@...nel.org>
Cc:     Benjamin Tissoires <benjamin.tissoires@...hat.com>,
        LKML <linux-kernel@...r.kernel.org>,
        Linux ACPI <linux-acpi@...r.kernel.org>,
        Mika Westerberg <mika.westerberg@...ux.intel.com>,
        linux-input@...r.kernel.org,
        "rrangel@...omium.org" <rrangel@...omium.org>,
        Hans de Goede <hdegoede@...hat.com>,
        Kai-Heng Feng <kai.heng.feng@...onical.com>
Subject: Re: [PATCH] i2c: ACPI: Do not check ACPI_FADT_LOW_POWER_S0

On 8/5/2022 11:51, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <rafael.j.wysocki@...el.com>
> 
> The ACPI_FADT_LOW_POWER_S0 flag merely means that it is better to
> use low-power S0 idle on the given platform than S3 (provided that
> the latter is supported) and it doesn't preclude using either of
> them (which of them will be used depends on the choices made by user
> space).
> 
> Because of that, ACPI_FADT_LOW_POWER_S0 is generally not sufficient
> for making decisions in device drivers and so i2c_hid_acpi_probe()
> should not use it.
> 
> Moreover, Linux always supports suspend-to-idle, so if a given
> device can wake up the system from suspend-to-idle, then it can be
> marked as wakeup capable unconditionally, so make that happen in
> i2c_hid_acpi_probe().
> 
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@...el.com>

+Raul
+Hans
+KH

Raul had a patch that was actually going to just tear out this code 
entirely:
https://lkml.kernel.org/lkml/20211220163823.1.Ie20ca47a26d3ea68124d8197b67bb1344c67f650@changeid/

As part of that patch series discussion another suggestion had 
transpired 
(https://patchwork.kernel.org/project/linux-input/patch/20211220163823.2.Id022caf53d01112188308520915798f08a33cd3e@changeid/#24681016):

```
if ((acpi_gbl_FADT.flags & ACPI_FADT_LOW_POWER_S0) &&
	    !adev->flags.power_manageable) {
                 device_set_wakeup_capable(dev, true);
                 device_set_wakeup_enable(dev, false);
         }
```

If this is being changed, maybe consider that suggestion to
check `adev->flags.power_manageable`.

> ---
>   drivers/hid/i2c-hid/i2c-hid-acpi.c |    6 ++----
>   1 file changed, 2 insertions(+), 4 deletions(-)
> 
> Index: linux-pm/drivers/hid/i2c-hid/i2c-hid-acpi.c
> ===================================================================
> --- linux-pm.orig/drivers/hid/i2c-hid/i2c-hid-acpi.c
> +++ linux-pm/drivers/hid/i2c-hid/i2c-hid-acpi.c
> @@ -105,10 +105,8 @@ static int i2c_hid_acpi_probe(struct i2c
>   
>   	acpi_device_fix_up_power(adev);
>   
> -	if (acpi_gbl_FADT.flags & ACPI_FADT_LOW_POWER_S0) {
> -		device_set_wakeup_capable(dev, true);
> -		device_set_wakeup_enable(dev, false);
> -	}
> +	device_set_wakeup_capable(dev, true);
> +	device_set_wakeup_enable(dev, false);
>   
>   	return i2c_hid_core_probe(client, &ihid_acpi->ops,
>   				  hid_descriptor_address, 0);
> 
> 
> 

Powered by blists - more mailing lists