diff options
author | np <np@FreeBSD.org> | 2015-05-03 18:54:17 +0000 |
---|---|---|
committer | np <np@FreeBSD.org> | 2015-05-03 18:54:17 +0000 |
commit | 8751c8b8b2606421436163dce71dcd9b866ef7cd (patch) | |
tree | 87c9ddd5a2bc249b0b62723819b9a709e2d592d6 | |
parent | 89820200abd0b46d54cbb17c345f1439aee97b66 (diff) | |
download | FreeBSD-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.c | 6 |
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++; |