From dffe703dea646a5fac40504bfcc6a13a69cd85bc Mon Sep 17 00:00:00 2001 From: Marius Strobl Date: Tue, 2 Sep 2008 21:06:28 +0000 Subject: [PATCH] Bypass isa_probe_children(9) and directly call bus_generic_attach(9) in order to avoid the invasive probes done by identify-routines of ISA drivers, which may access unassigned addresses or those of unrelated devices and thus in turn can trigger master/target aborts as revealed by r182108 and ahc(4). I think that this is also the cause of the hang previously seen on B100 blades during boot. Bypassing isa_probe_children(9) also avoids adding ISA hints, which just can be wrong for sparc64. Reported by: gavin --- sys/sparc64/sparc64/autoconf.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/sys/sparc64/sparc64/autoconf.c b/sys/sparc64/sparc64/autoconf.c index 438c386c279..68161566d89 100644 --- a/sys/sparc64/sparc64/autoconf.c +++ b/sys/sparc64/sparc64/autoconf.c @@ -71,8 +71,14 @@ configure(void *dummy) #endif root_bus_configure(); #ifdef DEV_ISA + /* + * We bypass isa_probe_children(9) here in order to avoid + * invasive probes done by identify-routines of ISA drivers, + * which in turn can trigger master/target aborts, and the + * addition of ISA hints, which might erroneously exist. + */ if (isa_bus_device != NULL) - isa_probe_children(isa_bus_device); + (void)bus_generic_attach(isa_bus_device); #endif }