summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornp <np@FreeBSD.org>2015-05-03 18:54:17 +0000
committernp <np@FreeBSD.org>2015-05-03 18:54:17 +0000
commit8751c8b8b2606421436163dce71dcd9b866ef7cd (patch)
tree87c9ddd5a2bc249b0b62723819b9a709e2d592d6
parent89820200abd0b46d54cbb17c345f1439aee97b66 (diff)
downloadFreeBSD-src-8751c8b8b2606421436163dce71dcd9b866ef7cd.zip
FreeBSD-src-8751c8b8b2606421436163dce71dcd9b866ef7cd.tar.gz
MFC r272183:
Make sure the adapter's management queue and the event queue are available before any uppper layer driver (TOE, iWARP, or iSCSI) registers with the base cxgbe(4) driver.
-rw-r--r--sys/dev/cxgbe/t4_main.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/dev/cxgbe/t4_main.c b/sys/dev/cxgbe/t4_main.c
index 91b37b1..fd82f02 100644
--- a/sys/dev/cxgbe/t4_main.c
+++ b/sys/dev/cxgbe/t4_main.c
@@ -8262,6 +8262,12 @@ t4_activate_uld(struct adapter *sc, int id)
SLIST_FOREACH(ui, &t4_uld_list, link) {
if (ui->uld_id == id) {
+ if (!(sc->flags & FULL_INIT_DONE)) {
+ rc = adapter_full_init(sc);
+ if (rc != 0)
+ goto done;
+ }
+
rc = ui->activate(sc);
if (rc == 0)
ui->refcount++;
OpenPOWER on IntegriCloud