diff options
author | Paul Mackerras <paulus@samba.org> | 2005-11-08 06:48:08 -0500 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2005-11-08 06:48:08 -0500 |
commit | 3825ac0ee66b50cb0208ee74796fe65f3040e67c (patch) | |
tree | 589e3ee480fadacda1e8e43a4566fb2b8c64ab65 /arch/powerpc/kernel/prom_init.c | |
parent | 7e9191daf643255c24893427f966795e4167ca2c (diff) |
powerpc: Fix crash in early boot on some powermacs
Some powermac machines were crashing in the quiesce firmware call
in prom_init.c because we have just closed the OF stdin device;
notably my 1999 G3 powerbook does this. To avoid this, don't
close the OF stdin device on powermacs.
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/kernel/prom_init.c')
-rw-r--r-- | arch/powerpc/kernel/prom_init.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/arch/powerpc/kernel/prom_init.c b/arch/powerpc/kernel/prom_init.c index 6dc33d19fc2a..58f0917bd6b6 100644 --- a/arch/powerpc/kernel/prom_init.c +++ b/arch/powerpc/kernel/prom_init.c | |||
@@ -2081,8 +2081,13 @@ unsigned long __init prom_init(unsigned long r3, unsigned long r4, | |||
2081 | prom_printf("copying OF device tree ...\n"); | 2081 | prom_printf("copying OF device tree ...\n"); |
2082 | flatten_device_tree(); | 2082 | flatten_device_tree(); |
2083 | 2083 | ||
2084 | /* in case stdin is USB and still active on IBM machines... */ | 2084 | /* |
2085 | prom_close_stdin(); | 2085 | * in case stdin is USB and still active on IBM machines... |
2086 | * Unfortunately quiesce crashes on some powermacs if we have | ||
2087 | * closed stdin already (in particular the powerbook 101). | ||
2088 | */ | ||
2089 | if (RELOC(of_platform) != PLATFORM_POWERMAC) | ||
2090 | prom_close_stdin(); | ||
2086 | 2091 | ||
2087 | /* | 2092 | /* |
2088 | * Call OF "quiesce" method to shut down pending DMA's from | 2093 | * Call OF "quiesce" method to shut down pending DMA's from |