FreeBSD/sys/dev/usb/wlan/if_uath.c
/*
 * Cleanup driver resources when we run out of buffers while processing
 * fragments; return the tx buffers allocated and drop node references.
 */
Cleanup driver resources when we run out of buffers while processing
fragments; return the tx buffers allocated and drop node references.
Cleanup driver resources when we run out of buffers while processing fragments ; return the tx buffers allocated and drop node references .
static void
uath_txfrag_cleanup(struct uath_softc *sc,
    uath_datahead *frags, struct ieee80211_node *ni)
{
	struct uath_data *bf, *next;
	UATH_ASSERT_LOCKED(sc);
	STAILQ_FOREACH_SAFE(bf, frags, next, next) {
		STAILQ_REMOVE_HEAD(frags, next);
		STAILQ_INSERT_HEAD(&sc->sc_tx_inactive, bf, next);
		UATH_STAT_INC(sc, st_tx_inactive);
		ieee80211_node_decref(ni);
	}
}
static void uath_txfrag_cleanup ( struct uath_softc * sc , uath_datahead * frags , struct ieee80211_node * ni ) { struct uath_data * bf , * next ; UATH_ASSERT_LOCKED ( sc ) ; STAILQ_FOREACH_SAFE ( bf , frags , next , next ) { STAILQ_REMOVE_HEAD ( frags , next ) ; STAILQ_INSERT_HEAD ( & sc -> sc_tx_inactive , bf , next ) ; UATH_STAT_INC ( sc , st_tx_inactive ) ; ieee80211_node_decref ( ni ) ; } }
Cleanup driver resources when we run out of buffers while processing
 fragments; return the tx buffers allocated and drop node references.
Cleanup driver resources when we run out of buffers while processing fragments ; return the tx buffers allocated and drop node references .
/* NB: bf assumed clean */