Index: if_ixl.c =================================================================== RCS file: /cvs/src/sys/dev/pci/if_ixl.c,v retrieving revision 1.26 diff -u -p -r1.26 if_ixl.c --- if_ixl.c 12 Mar 2019 01:07:37 -0000 1.26 +++ if_ixl.c 21 Mar 2019 03:11:32 -0000 @@ -1061,7 +1061,6 @@ struct ixl_rx_ring { }; struct ixl_atq { - SIMPLEQ_ENTRY(ixl_atq) iatq_entry; struct ixl_aq_desc iatq_desc; void *iatq_arg; void (*iatq_fn)(struct ixl_softc *, void *); @@ -3009,7 +3008,6 @@ ixl_atq_post(struct ixl_softc *sc, struc static void ixl_atq_done(struct ixl_softc *sc) { - struct ixl_atq_list cmds = SIMPLEQ_HEAD_INITIALIZER(cmds); struct ixl_aq_desc *atq, *slot; struct ixl_atq *iatq; unsigned int cons; @@ -3032,10 +3030,11 @@ ixl_atq_done(struct ixl_softc *sc) iatq = (struct ixl_atq *)slot->iaq_cookie; iatq->iatq_desc = *slot; - SIMPLEQ_INSERT_TAIL(&cmds, iatq, iatq_entry); memset(slot, 0, sizeof(*slot)); + (*iatq->iatq_fn)(sc, iatq->iatq_arg); + cons++; cons &= IXL_AQ_MASK; } while (cons != prod); @@ -3045,12 +3044,6 @@ ixl_atq_done(struct ixl_softc *sc) BUS_DMASYNC_PREREAD|BUS_DMASYNC_PREWRITE); sc->sc_atq_cons = cons; - - while ((iatq = SIMPLEQ_FIRST(&cmds)) != NULL) { - SIMPLEQ_REMOVE_HEAD(&cmds, iatq_entry); - - (*iatq->iatq_fn)(sc, iatq->iatq_arg); - } } struct ixl_wakeup {