diff --git a/sys/dev/cxgbe/t4_sched.c b/sys/dev/cxgbe/t4_sched.c index c2d3cdeadc4..c9f7f205a0e 100644 --- a/sys/dev/cxgbe/t4_sched.c +++ b/sys/dev/cxgbe/t4_sched.c @@ -382,8 +382,10 @@ t4_free_tx_sched(struct adapter *sc) taskqueue_drain(taskqueue_thread, &sc->tc_task); - for_each_port(sc, i) - free(sc->port[i]->sched_params, M_CXGBE); + for_each_port(sc, i) { + if (sc->port[i] != NULL) + free(sc->port[i]->sched_params, M_CXGBE); + } if (mtx_initialized(&sc->tc_lock)) mtx_destroy(&sc->tc_lock);