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:
parent
a583eb0809
commit
dffe703dea
@ -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
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user