summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/prom_init.c
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@samba.org>2005-11-08 12:48:08 +0100
committerPaul Mackerras <paulus@samba.org>2005-11-08 12:48:08 +0100
commit3825ac0ee66b50cb0208ee74796fe65f3040e67c (patch)
tree589e3ee480fadacda1e8e43a4566fb2b8c64ab65 /arch/powerpc/kernel/prom_init.c
parent[PATCH] Memory Add Fixes for ppc64 (diff)
downloadlinux-3825ac0ee66b50cb0208ee74796fe65f3040e67c.tar.xz
linux-3825ac0ee66b50cb0208ee74796fe65f3040e67c.zip
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.c9
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,
prom_printf("copying OF device tree ...\n");
flatten_device_tree();
- /* in case stdin is USB and still active on IBM machines... */
- prom_close_stdin();
+ /*
+ * in case stdin is USB and still active on IBM machines...
+ * Unfortunately quiesce crashes on some powermacs if we have
+ * closed stdin already (in particular the powerbook 101).
+ */
+ if (RELOC(of_platform) != PLATFORM_POWERMAC)
+ prom_close_stdin();
/*
* Call OF "quiesce" method to shut down pending DMA's from