diff --git a/sys/x86/xen/xenpv.c b/sys/x86/xen/xenpv.c index 182edf8ee7ec..587ced913e0a 100644 --- a/sys/x86/xen/xenpv.c +++ b/sys/x86/xen/xenpv.c @@ -93,24 +93,20 @@ xenpv_probe(device_t dev) static int xenpv_attach(device_t dev) { - device_t child; + int error; /* * Let our child drivers identify any child devices that they * can find. Once that is done attach any devices that we * found. */ - bus_generic_probe(dev); - bus_generic_attach(dev); + error = bus_generic_probe(dev); + if (error) + return (error); - if (!devclass_get_device(devclass_find("isa"), 0)) { - child = BUS_ADD_CHILD(dev, 0, "isa", 0); - if (child == NULL) - panic("Failed to attach ISA bus."); - device_probe_and_attach(child); - } + error = bus_generic_attach(dev); - return (0); + return (error); } static struct resource *