diff mbox

powerpc/pmac/smp: Add missing FROZEN hotplug notifier transitions

Message ID 1459762201-183136-1-git-send-email-anna-maria@linutronix.de (mailing list archive)
State Accepted
Headers show

Commit Message

Anna-Maria Gleixner April 4, 2016, 9:30 a.m. UTC
The FROZEN transitions are used when a CPU suspends/resumes. In case
of a suspend/resume, only the up prepare (CPU_UP_PREPARE_FROZEN) is
handled. The error handling transition CPU_UP_CANCELED_FROZEN as well
as the CPU_ONLINE_FROZEN transition are not handled.

Masking the switch case action argument with ~CPU_TASKS_FROZEN, to
handle all FROZEN tasks the same way than the corresponding non frozen
tasks.

Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: linuxppc-dev@lists.ozlabs.org
Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de>
---
 arch/powerpc/platforms/powermac/smp.c |    3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

Michael Ellerman July 15, 2016, 10:53 a.m. UTC | #1
On Mon, 2016-04-04 at 09:30:01 UTC, Anna-Maria Gleixner wrote:
> The FROZEN transitions are used when a CPU suspends/resumes. In case
> of a suspend/resume, only the up prepare (CPU_UP_PREPARE_FROZEN) is
> handled. The error handling transition CPU_UP_CANCELED_FROZEN as well
> as the CPU_ONLINE_FROZEN transition are not handled.
> 
> Masking the switch case action argument with ~CPU_TASKS_FROZEN, to
> handle all FROZEN tasks the same way than the corresponding non frozen
> tasks.
> 
> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
> Cc: linuxppc-dev@lists.ozlabs.org
> Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de>

Applied to powerpc next, thanks.

https://git.kernel.org/powerpc/c/c011926fcbeb9565599f278148

cheers
diff mbox

Patch

--- a/arch/powerpc/platforms/powermac/smp.c
+++ b/arch/powerpc/platforms/powermac/smp.c
@@ -857,9 +857,8 @@  static int smp_core99_cpu_notify(struct
 {
 	int rc;
 
-	switch(action) {
+	switch(action & ~CPU_TASKS_FROZEN) {
 	case CPU_UP_PREPARE:
-	case CPU_UP_PREPARE_FROZEN:
 		/* Open i2c bus if it was used for tb sync */
 		if (pmac_tb_clock_chip_host) {
 			rc = pmac_i2c_open(pmac_tb_clock_chip_host, 1);