FreeBSD/sys/dev/e1000/if_lem.c
/*********************************************************************
 *
 *  When Link is lost sometimes there is work still in the TX ring
 *  which may result in a watchdog, rather than allow that we do an
 *  attempted cleanup and then reinit here. Note that this has been
 *  seens mostly with fiber adapters.
 *
 **********************************************************************/
When Link is lost sometimes there is work still in the TX ring
which may result in a watchdog, rather than allow that we do an
attempted cleanup and then reinit here. Note that this has been
seens mostly with fiber adapters.
When Link is lost sometimes there is work still in the TX ring which may result in a watchdog rather than allow that we do an attempted cleanup and then reinit here . Note that this has been seens mostly with fiber adapters .
static void
lem_tx_purge(struct adapter *adapter)
{
	if ((!adapter->link_active) && (adapter->watchdog_check)) {
		EM_TX_LOCK(adapter);
		lem_txeof(adapter);
		EM_TX_UNLOCK(adapter);
		if (adapter->watchdog_check) 
			lem_init_locked(adapter);
	}
}
static void lem_tx_purge ( struct adapter * adapter ) { if ( ( ! adapter -> link_active ) && ( adapter -> watchdog_check ) ) { EM_TX_LOCK ( adapter ) ; lem_txeof ( adapter ) ; EM_TX_UNLOCK ( adapter ) ; if ( adapter -> watchdog_check ) lem_init_locked ( adapter ) ; } }
When Link is lost sometimes there is work still in the TX ring
  which may result in a watchdog, rather than allow that we do an
  attempted cleanup and then reinit here.
When Link is lost sometimes there is work still in the TX ring which may result in a watchdog rather than allow that we do an attempted cleanup and then reinit here .
/* Still outstanding? */