svn commit: r193602 - user/kmacy/releng_7_2_fcs/sys/dev/cxgb

Kip Macy kmacy at FreeBSD.org
Sun Jun 7 01:02:33 UTC 2009


Author: kmacy
Date: Sun Jun  7 01:02:33 2009
New Revision: 193602
URL: http://svn.freebsd.org/changeset/base/193602

Log:
  always enqueue a timeout if the ring is not empty

Modified:
  user/kmacy/releng_7_2_fcs/sys/dev/cxgb/cxgb_sge.c

Modified: user/kmacy/releng_7_2_fcs/sys/dev/cxgb/cxgb_sge.c
==============================================================================
--- user/kmacy/releng_7_2_fcs/sys/dev/cxgb/cxgb_sge.c	Sun Jun  7 00:52:02 2009	(r193601)
+++ user/kmacy/releng_7_2_fcs/sys/dev/cxgb/cxgb_sge.c	Sun Jun  7 01:02:33 2009	(r193602)
@@ -1612,7 +1612,9 @@ cxgb_start_locked(struct sge_qset *qs)
 		/* Set timeout in case hardware has problems transmitting. */
 		pi->watchdog_timer = CXGB_TX_TIMEOUT;
 	}
-
+	if (!TXQ_RING_EMPTY(qs) && callout_pending(&txq->txq_timer) == 0)
+		callout_reset_on(&txq->txq_timer, 1, cxgb_tx_timeout,
+		    qs, txq->txq_timer.c_cpu);
 	if (m_head != NULL)
 		m_freem(m_head);
 }
@@ -1669,8 +1671,7 @@ cxgb_transmit_locked(struct ifnet *ifp, 
 	if (!TXQ_RING_EMPTY(qs) && pi->link_config.link_ok &&
 	    (!sc->tunq_coalesce || (drbr_inuse(ifp, br) >= 7)))
 		cxgb_start_locked(qs);
-	else if (!TXQ_RING_EMPTY(qs) && sc->tunq_coalesce &&
-	    callout_pending(&txq->txq_timer) == 0)
+	else if (!TXQ_RING_EMPTY(qs) && callout_pending(&txq->txq_timer) == 0)
 		callout_reset_on(&txq->txq_timer, 1, cxgb_tx_timeout,
 		    qs, txq->txq_timer.c_cpu);
 	return (0);


More information about the svn-src-user mailing list