]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commitdiff
cpuidle: PSCI: Move the `has_lpi` check to the beginning of the function
authorMario Limonciello <mario.limonciello@amd.com>
Fri, 25 Feb 2022 19:06:45 +0000 (13:06 -0600)
committerStefan Bader <stefan.bader@canonical.com>
Fri, 20 May 2022 13:20:07 +0000 (15:20 +0200)
BugLink: https://bugs.launchpad.net/bugs/1971497
commit 01f6c7338ce267959975da65d86ba34f44d54220 upstream.

Currently the first thing checked is whether the PCSI cpu_suspend function
has been initialized.

Another change will be overloading `acpi_processor_ffh_lpi_probe` and
calling it sooner.  So make the `has_lpi` check the first thing checked
to prepare for that change.

Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
arch/arm64/kernel/cpuidle.c

index e4d6af2fdec716ae36028f8e060dda92fb5127d2..5397f0d9e5bbbb6eddf628b8c6347a525d285a15 100644 (file)
@@ -53,6 +53,9 @@ static int psci_acpi_cpu_init_idle(unsigned int cpu)
        struct acpi_lpi_state *lpi;
        struct acpi_processor *pr = per_cpu(processors, cpu);
 
+       if (unlikely(!pr || !pr->flags.has_lpi))
+               return -EINVAL;
+
        /*
         * If the PSCI cpu_suspend function hook has not been initialized
         * idle states must not be enabled, so bail out
@@ -60,9 +63,6 @@ static int psci_acpi_cpu_init_idle(unsigned int cpu)
        if (!psci_ops.cpu_suspend)
                return -EOPNOTSUPP;
 
-       if (unlikely(!pr || !pr->flags.has_lpi))
-               return -EINVAL;
-
        count = pr->power.count - 1;
        if (count <= 0)
                return -ENODEV;