Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0fba3a1f authored by Johannes Berg's avatar Johannes Berg Committed by Linus Torvalds
Browse files

[PATCH] PowerMac: force only suspend-to-disk to be valid



For a very long time, echoing 'standby' or 'mem' into /sys/power/state has
killed the machine on powerpc.  This patch fixes that.

This patch adds the .valid callback to pm_ops on PowerMac so that only the
suspend to disk state can be entered.  Note that just returning 0 would
suffice since the upper layers don't pass PM_SUSPEND_DISK down, but we
handle it there regardless just in case that changes.

Acked-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
Cc: <stable@kernel.org>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 3ac81413
Loading
Loading
Loading
Loading
+12 −0
Original line number Original line Diff line number Diff line
@@ -463,11 +463,23 @@ static int pmac_pm_finish(suspend_state_t state)
	return 0;
	return 0;
}
}


static int pmac_pm_valid(suspend_state_t state)
{
	switch (state) {
	case PM_SUSPEND_DISK:
		return 1;
	/* can't do any other states via generic mechanism yet */
	default:
		return 0;
	}
}

static struct pm_ops pmac_pm_ops = {
static struct pm_ops pmac_pm_ops = {
	.pm_disk_mode	= PM_DISK_SHUTDOWN,
	.pm_disk_mode	= PM_DISK_SHUTDOWN,
	.prepare	= pmac_pm_prepare,
	.prepare	= pmac_pm_prepare,
	.enter		= pmac_pm_enter,
	.enter		= pmac_pm_enter,
	.finish		= pmac_pm_finish,
	.finish		= pmac_pm_finish,
	.valid		= pmac_pm_valid,
};
};


#endif /* CONFIG_SOFTWARE_SUSPEND */
#endif /* CONFIG_SOFTWARE_SUSPEND */