diff options
| -rw-r--r-- | sys/dev/cxgbe/t4_main.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/sys/dev/cxgbe/t4_main.c b/sys/dev/cxgbe/t4_main.c index 773d50ac033ba..47748074b7d64 100644 --- a/sys/dev/cxgbe/t4_main.c +++ b/sys/dev/cxgbe/t4_main.c @@ -7909,11 +7909,6 @@ set_filter(struct adapter *sc, struct t4_filter *t) goto done; } - if (!(sc->flags & FULL_INIT_DONE)) { - rc = EAGAIN; - goto done; - } - if (t->idx >= nfilters) { rc = EINVAL; goto done; @@ -7947,6 +7942,10 @@ set_filter(struct adapter *sc, struct t4_filter *t) goto done; } + if (!(sc->flags & FULL_INIT_DONE) && + ((rc = adapter_full_init(sc)) != 0)) + goto done; + if (sc->tids.ftid_tab == NULL) { KASSERT(sc->tids.ftids_in_use == 0, ("%s: no memory allocated but filters_in_use > 0", |
