summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2008-12-26 00:43:04 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2008-12-26 00:43:04 +0000
commite5b7a48717952ee27c9b124bf5fd8479a5470f1c (patch)
treef9ca07a73d1a2d286fb429157846eba49c5c4901
parent0a2f586cc653db09db7d930e314bd63390f7a028 (diff)
Do not attach if not the console, I expect the same problems as for p9100,
but I don't know what initialization sequence is needed on the p9000...
-rw-r--r--sys/arch/sparc/dev/p9000.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/sys/arch/sparc/dev/p9000.c b/sys/arch/sparc/dev/p9000.c
index f957fb442e8..2cdfa22ea64 100644
--- a/sys/arch/sparc/dev/p9000.c
+++ b/sys/arch/sparc/dev/p9000.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: p9000.c,v 1.20 2007/02/25 18:14:48 miod Exp $ */
+/* $OpenBSD: p9000.c,v 1.21 2008/12/26 00:43:03 miod Exp $ */
/*
* Copyright (c) 2003, Miodrag Vallat.
@@ -176,6 +176,16 @@ p9000match(struct device *parent, void *vcf, void *aux)
if (strcmp("p9000", ra->ra_name))
return (0);
+ /*
+ * If this is not the console device, chances are the
+ * frame buffer is not completely initialized, and access
+ * to some of its control registers could hang (this is
+ * the case on p9100). Until this can be verified, do
+ * not attach if console is on serial.
+ */
+ if (ra->ra_node != fbnode)
+ return (0);
+
return (1);
}