| From: Thomas Gleixner <tglx@linutronix.de> |
| Date: Tue, 16 May 2017 20:42:33 +0200 |
| Subject: [PATCH 02/17] arm: Adjust system_state check |
| |
| To enable smp_processor_id() and might_sleep() debug checks earlier, it's |
| required to add system states between SYSTEM_BOOTING and SYSTEM_RUNNING. |
| |
| Adjust the system_state check in ipi_cpu_stop() to handle the extra states. |
| |
| Signed-off-by: Thomas Gleixner <tglx@linutronix.de> |
| Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> |
| Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| Cc: Linus Torvalds <torvalds@linux-foundation.org> |
| Cc: Mark Rutland <mark.rutland@arm.com> |
| Cc: Peter Zijlstra <peterz@infradead.org> |
| Cc: Russell King <linux@armlinux.org.uk> |
| Cc: Steven Rostedt <rostedt@goodmis.org> |
| Cc: linux-arm-kernel@lists.infradead.org |
| Link: http://lkml.kernel.org/r/20170516184735.020718977@linutronix.de |
| Signed-off-by: Ingo Molnar <mingo@kernel.org> |
| --- |
| arch/arm/kernel/smp.c | 3 +-- |
| 1 file changed, 1 insertion(+), 2 deletions(-) |
| |
| --- a/arch/arm/kernel/smp.c |
| +++ b/arch/arm/kernel/smp.c |
| @@ -555,8 +555,7 @@ static DEFINE_RAW_SPINLOCK(stop_lock); |
| */ |
| static void ipi_cpu_stop(unsigned int cpu) |
| { |
| - if (system_state == SYSTEM_BOOTING || |
| - system_state == SYSTEM_RUNNING) { |
| + if (system_state <= SYSTEM_RUNNING) { |
| raw_spin_lock(&stop_lock); |
| pr_crit("CPU%u: stopping\n", cpu); |
| dump_stack(); |