summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2018-03-27 20:49:47 +0000
committerjhb <jhb@FreeBSD.org>2018-03-27 20:49:47 +0000
commit92e51dc282e0eb3574d174310913e83c436c2c82 (patch)
tree8e2fd4beb4e87d18f9c8587cd61061f63eb0b5f0
parentfedc5174a785b646b1b73db6f5d5a40457d3e86e (diff)
downloadFreeBSD-src-92e51dc282e0eb3574d174310913e83c436c2c82.zip
FreeBSD-src-92e51dc282e0eb3574d174310913e83c436c2c82.tar.gz
MFC 318387: Add support for child devices that aren't ports.
Invoke any identify routines of child drivers during attach before attaching children, and delete any remaining devices after deleting ports. Sponsored by: Chelsio Communications
-rw-r--r--sys/dev/cxgbe/t4_main.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/dev/cxgbe/t4_main.c b/sys/dev/cxgbe/t4_main.c
index ccc742c..c530e60 100644
--- a/sys/dev/cxgbe/t4_main.c
+++ b/sys/dev/cxgbe/t4_main.c
@@ -1179,6 +1179,12 @@ t4_attach(device_t dev)
goto done;
}
+ rc = bus_generic_probe(dev);
+ if (rc != 0) {
+ device_printf(dev, "failed to probe child drivers: %d\n", rc);
+ goto done;
+ }
+
/*
* Ensure thread-safe mailbox access (in debug builds).
*
@@ -1342,6 +1348,8 @@ t4_detach_common(device_t dev)
}
}
+ device_delete_children(dev);
+
if (sc->flags & FULL_INIT_DONE)
adapter_full_uninit(sc);
OpenPOWER on IntegriCloud