diff options
author | Michael Ellerman <michael@ellerman.id.au> | 2010-05-19 02:12:32 +0000 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2010-05-21 17:29:39 +1000 |
commit | 7358650e9e9a81c854dc4582b4193eb5ea500bf6 (patch) | |
tree | f21f177a301f7a7f7ec99e3213d7a525b67fab89 | |
parent | 78f622377f7d31d988db350a43c5689dd5f31876 (diff) | |
download | kernel_goldelico_gta04-7358650e9e9a81c854dc4582b4193eb5ea500bf6.zip kernel_goldelico_gta04-7358650e9e9a81c854dc4582b4193eb5ea500bf6.tar.gz kernel_goldelico_gta04-7358650e9e9a81c854dc4582b4193eb5ea500bf6.tar.bz2 |
powerpc/rtasd: Don't start event scan if scan rate is zero
There appear to be Pegasos systems which have the rtas-event-scan
RTAS tokens, but on which the event scan always fails. They also
have an event-scan-rate property containing 0, which means call
event scan 0 times per minute.
So interpret a scan rate of 0 to mean don't scan at all. This fixes
the problem on the Pegasos machines and makes sense as well.
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
-rw-r--r-- | arch/powerpc/kernel/rtasd.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/rtasd.c b/arch/powerpc/kernel/rtasd.c index e907ca6..638883e 100644 --- a/arch/powerpc/kernel/rtasd.c +++ b/arch/powerpc/kernel/rtasd.c @@ -490,6 +490,12 @@ static int __init rtas_init(void) return -ENODEV; } + if (!rtas_event_scan_rate) { + /* Broken firmware: take a rate of zero to mean don't scan */ + printk(KERN_DEBUG "rtasd: scan rate is 0, not scanning\n"); + return 0; + } + /* Make room for the sequence number */ rtas_error_log_max = rtas_get_error_log_max(); rtas_error_log_buffer_max = rtas_error_log_max + sizeof(int); |