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
This commit is contained in:
Marius Strobl 2008-09-02 21:06:28 +00:00
parent a583eb0809
commit dffe703dea

View File

@ -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
}