arm64: psci: Avoid printing in cpu_psci_cpu_die()
authorWill Deacon <will@kernel.org>
Fri, 6 Nov 2020 09:57:55 +0000 (09:57 +0000)
committerWill Deacon <will@kernel.org>
Tue, 10 Nov 2020 13:11:44 +0000 (13:11 +0000)
cpu_psci_cpu_die() is called in the context of the dying CPU, which
will no longer be online or tracked by RCU. It is therefore not generally
safe to call printk() if the PSCI "cpu off" request fails, so remove the
pr_crit() invocation.

Cc: Qian Cai <cai@redhat.com>
Cc: "Paul E. McKenney" <paulmck@kernel.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Link: https://lore.kernel.org/r/20201106103602.9849-2-will@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
arch/arm64/kernel/psci.c

index 43ae4e0c968f66f44503ae59807ef356eac4217a..62d2bda7adb807010439282fc956e63a5d269095 100644 (file)
@@ -66,7 +66,6 @@ static int cpu_psci_cpu_disable(unsigned int cpu)
 
 static void cpu_psci_cpu_die(unsigned int cpu)
 {
-       int ret;
        /*
         * There are no known implementations of PSCI actually using the
         * power state field, pass a sensible default for now.
@@ -74,9 +73,7 @@ static void cpu_psci_cpu_die(unsigned int cpu)
        u32 state = PSCI_POWER_STATE_TYPE_POWER_DOWN <<
                    PSCI_0_2_POWER_STATE_TYPE_SHIFT;
 
-       ret = psci_ops.cpu_off(state);
-
-       pr_crit("unable to power off CPU%u (%d)\n", cpu, ret);
+       psci_ops.cpu_off(state);
 }
 
 static int cpu_psci_cpu_kill(unsigned int cpu)