if ((txstat & MX_TXSTAT_OWN) || txstat == MX_UNSENT)
if (txstat & MX_TXSTAT_OWN)
static void mx_txeof(sc)	struct mx_softc		*sc;{	struct mx_chain		*cur_tx;	struct ifnet		*ifp;	ifp = &sc->arpcom.ac_if;	/* Clear the timeout timer. */	ifp->if_timer = 0;	if (sc->mx_cdata.mx_tx_head == NULL)		return;	/*	 * Go through our tx list and free mbufs for those	 * frames that have been transmitted.	 */	while(sc->mx_cdata.mx_tx_head->mx_mbuf != NULL) {		u_int32_t		txstat;		cur_tx = sc->mx_cdata.mx_tx_head;		txstat = MX_TXSTATUS(cur_tx);		if ((txstat & MX_TXSTAT_OWN) || txstat == MX_UNSENT)			break;		if (txstat & MX_TXSTAT_ERRSUM) {			ifp->if_oerrors++;			if (txstat & MX_TXSTAT_EXCESSCOLL)				ifp->if_collisions++;			if (txstat & MX_TXSTAT_LATECOLL)				ifp->if_collisions++;		}		ifp->if_collisions += (txstat & MX_TXSTAT_COLLCNT) >> 3;		ifp->if_opackets++;		m_freem(cur_tx->mx_mbuf);		cur_tx->mx_mbuf = NULL;		if (sc->mx_cdata.mx_tx_head == sc->mx_cdata.mx_tx_tail) {			sc->mx_cdata.mx_tx_head = NULL;			sc->mx_cdata.mx_tx_tail = NULL;			break;		}		sc->mx_cdata.mx_tx_head = cur_tx->mx_nextdesc;	}	return;}