diff options
Diffstat (limited to 'arch/arm64/kernel/smp_psci.c')
| -rw-r--r-- | arch/arm64/kernel/smp_psci.c | 5 | 
1 files changed, 3 insertions, 2 deletions
| diff --git a/arch/arm64/kernel/smp_psci.c b/arch/arm64/kernel/smp_psci.c index 112091684c22..0c533301be77 100644 --- a/arch/arm64/kernel/smp_psci.c +++ b/arch/arm64/kernel/smp_psci.c @@ -21,6 +21,7 @@  #include <linux/smp.h>  #include <asm/psci.h> +#include <asm/smp_plat.h>  static int __init smp_psci_init_cpu(struct device_node *dn, int cpu)  { @@ -36,7 +37,7 @@ static int __init smp_psci_prepare_cpu(int cpu)  		return -ENODEV;  	} -	err = psci_ops.cpu_on(cpu, __pa(secondary_holding_pen)); +	err = psci_ops.cpu_on(cpu_logical_map(cpu), __pa(secondary_holding_pen));  	if (err) {  		pr_err("psci: failed to boot CPU%d (%d)\n", cpu, err);  		return err; @@ -47,6 +48,6 @@ static int __init smp_psci_prepare_cpu(int cpu)  const struct smp_enable_ops smp_psci_ops __initconst = {  	.name		= "psci", -	.init_cpu 	= smp_psci_init_cpu, +	.init_cpu	= smp_psci_init_cpu,  	.prepare_cpu	= smp_psci_prepare_cpu,  }; | 
