Merge 3ee3723b40
("Merge tag 'm68k-for-v5.8-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k") into android-mainline
Steps along the way to 5.8-rc1 Change-Id: I9b3945d9f149835b7db64d8eba015d8de4160013 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
20
kernel/cpu.c
20
kernel/cpu.c
@@ -432,7 +432,7 @@ static inline bool cpu_smt_allowed(unsigned int cpu)
|
||||
/*
|
||||
* On x86 it's required to boot all logical CPUs at least once so
|
||||
* that the init code can get a chance to set CR4.MCE on each
|
||||
* CPU. Otherwise, a broadacasted MCE observing CR4.MCE=0b on any
|
||||
* CPU. Otherwise, a broadcasted MCE observing CR4.MCE=0b on any
|
||||
* core will shutdown the machine.
|
||||
*/
|
||||
return !cpumask_test_cpu(cpu, &cpus_booted_once_mask);
|
||||
@@ -1327,7 +1327,7 @@ void bringup_nonboot_cpus(unsigned int setup_max_cpus)
|
||||
#ifdef CONFIG_PM_SLEEP_SMP
|
||||
static cpumask_var_t frozen_cpus;
|
||||
|
||||
int __freeze_secondary_cpus(int primary, bool suspend)
|
||||
int freeze_secondary_cpus(int primary)
|
||||
{
|
||||
int cpu, error = 0;
|
||||
|
||||
@@ -1352,7 +1352,7 @@ int __freeze_secondary_cpus(int primary, bool suspend)
|
||||
if (cpu == primary)
|
||||
continue;
|
||||
|
||||
if (suspend && pm_wakeup_pending()) {
|
||||
if (pm_wakeup_pending()) {
|
||||
pr_info("Wakeup pending. Abort CPU freeze\n");
|
||||
error = -EBUSY;
|
||||
break;
|
||||
@@ -1376,8 +1376,8 @@ int __freeze_secondary_cpus(int primary, bool suspend)
|
||||
|
||||
/*
|
||||
* Make sure the CPUs won't be enabled by someone else. We need to do
|
||||
* this even in case of failure as all disable_nonboot_cpus() users are
|
||||
* supposed to do enable_nonboot_cpus() on the failure path.
|
||||
* this even in case of failure as all freeze_secondary_cpus() users are
|
||||
* supposed to do thaw_secondary_cpus() on the failure path.
|
||||
*/
|
||||
cpu_hotplug_disabled++;
|
||||
|
||||
@@ -1385,15 +1385,15 @@ int __freeze_secondary_cpus(int primary, bool suspend)
|
||||
return error;
|
||||
}
|
||||
|
||||
void __weak arch_enable_nonboot_cpus_begin(void)
|
||||
void __weak arch_thaw_secondary_cpus_begin(void)
|
||||
{
|
||||
}
|
||||
|
||||
void __weak arch_enable_nonboot_cpus_end(void)
|
||||
void __weak arch_thaw_secondary_cpus_end(void)
|
||||
{
|
||||
}
|
||||
|
||||
void enable_nonboot_cpus(void)
|
||||
void thaw_secondary_cpus(void)
|
||||
{
|
||||
int cpu, error;
|
||||
struct device *cpu_device;
|
||||
@@ -1406,7 +1406,7 @@ void enable_nonboot_cpus(void)
|
||||
|
||||
pr_info("Enabling non-boot CPUs ...\n");
|
||||
|
||||
arch_enable_nonboot_cpus_begin();
|
||||
arch_thaw_secondary_cpus_begin();
|
||||
|
||||
for_each_cpu(cpu, frozen_cpus) {
|
||||
trace_suspend_resume(TPS("CPU_ON"), cpu, true);
|
||||
@@ -1425,7 +1425,7 @@ void enable_nonboot_cpus(void)
|
||||
pr_warn("Error taking CPU%d up: %d\n", cpu, error);
|
||||
}
|
||||
|
||||
arch_enable_nonboot_cpus_end();
|
||||
arch_thaw_secondary_cpus_end();
|
||||
|
||||
cpumask_clear(frozen_cpus);
|
||||
out:
|
||||
|
Reference in New Issue
Block a user