aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorMichael Ellerman <michael@ellerman.id.au>2006-06-23 04:20:10 -0400
committerPaul Mackerras <paulus@samba.org>2006-06-27 21:59:47 -0400
commit24da3dd53430ec07ce9110b1eaaad080c3c7ecf6 (patch)
tree1c71b06224549fbc5b4860e7b38a1777ca3fbaea /arch
parent4ba99b97dadd35b9ce1438b2bc7c992a4a14a8b1 (diff)
[POWERPC] Make rtas_call() safe if RTAS hasn't been initialised
Currently it's unsafe to call rtas_call() prior to rtas_initialize(). This is because the rtas.entry value hasn't been setup and so we don't know where to enter, but we just try anyway. We can't do anything intelligent without rtas.entry, so if it's not set, just return. Code that calls rtas_call() early needs to be aware that the call might fail. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/powerpc/kernel/rtas.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/powerpc/kernel/rtas.c b/arch/powerpc/kernel/rtas.c
index 17dc79198515..0f14c2e63a67 100644
--- a/arch/powerpc/kernel/rtas.c
+++ b/arch/powerpc/kernel/rtas.c
@@ -328,7 +328,7 @@ int rtas_call(int token, int nargs, int nret, int *outputs, ...)
328 char *buff_copy = NULL; 328 char *buff_copy = NULL;
329 int ret; 329 int ret;
330 330
331 if (token == RTAS_UNKNOWN_SERVICE) 331 if (!rtas.entry || token == RTAS_UNKNOWN_SERVICE)
332 return -1; 332 return -1;
333 333
334 /* Gotta do something different here, use global lock for now... */ 334 /* Gotta do something different here, use global lock for now... */