cxgbe(4): Initialize the adapter queues (fwq and mgmtq) instead of

returning EAGAIN if they aren't available when the user tries to program
a filter.  Do this after validating the filter so that the driver
doesn't bring up the queues if it doesn't have to.
This commit is contained in:
np 2016-07-26 23:29:37 +00:00
parent 66f83d364d
commit acb4dfc92f

View File

@ -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",