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

[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
...@@ -463,11 +463,23 @@ static int pmac_pm_finish(suspend_state_t state) ...@@ -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 */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment