summaryrefslogtreecommitdiff
path: root/arch/ppc64/kernel/rtasd.c
diff options
context:
space:
mode:
authorNathan Fontenot <nfont@austin.ibm.com>2004-08-23 09:38:48 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2004-08-23 09:38:48 -0700
commitd613adcd449b6035dcec9cf5cea71ec319dedd1e (patch)
tree40f22fa74420642994798def218ee7a8bb63e7cf /arch/ppc64/kernel/rtasd.c
parentbf851860046667de3d71d11b4a297e2f37069931 (diff)
[PATCH] ppc64: fix enable_surveillance() for power5
On some platforms (notably power5) you can't enable surveillance (firmware/service processor watchdog) from the kernel - you have to do it in the firmware. This patch changes enable_surveillance() to make the message that is printed in this situation more informative. Additionaly, the rtas_call was changed to rtas_set_indicator so as to avoid having to handle RTAS_BUSY returns. Signed-off-by: Nathan Fontenot <nfont@austin.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/ppc64/kernel/rtasd.c')
-rw-r--r--arch/ppc64/kernel/rtasd.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/arch/ppc64/kernel/rtasd.c b/arch/ppc64/kernel/rtasd.c
index a9b676ce88c6..253b7290e24f 100644
--- a/arch/ppc64/kernel/rtasd.c
+++ b/arch/ppc64/kernel/rtasd.c
@@ -343,15 +343,18 @@ static int enable_surveillance(int timeout)
{
int error;
- error = rtas_call(rtas_token("set-indicator"), 3, 1, NULL,
- SURVEILLANCE_TOKEN, 0, timeout);
+ error = rtas_set_indicator(SURVEILLANCE_TOKEN, 0, timeout);
- if (error) {
- printk(KERN_ERR "rtasd: could not enable surveillance\n");
- return -1;
+ if (error == 0)
+ return 0;
+
+ if (error == RTAS_NO_SUCH_INDICATOR) {
+ printk(KERN_INFO "rtasd: surveillance not supported\n");
+ return 0;
}
- return 0;
+ printk(KERN_ERR "rtasd: could not update surveillance\n");
+ return -1;
}
static int get_eventscan_parms(void)