From owner-svn-src-user@FreeBSD.ORG  Sun Jun  7 01:02:33 2009
Return-Path: <owner-svn-src-user@FreeBSD.ORG>
Delivered-To: svn-src-user@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id A81611065674;
	Sun,  7 Jun 2009 01:02:33 +0000 (UTC)
	(envelope-from kmacy@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 96C308FC14;
	Sun,  7 Jun 2009 01:02:33 +0000 (UTC)
	(envelope-from kmacy@FreeBSD.org)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5712XYg077091;
	Sun, 7 Jun 2009 01:02:33 GMT (envelope-from kmacy@svn.freebsd.org)
Received: (from kmacy@localhost)
	by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5712XF3077090;
	Sun, 7 Jun 2009 01:02:33 GMT (envelope-from kmacy@svn.freebsd.org)
Message-Id: <200906070102.n5712XF3077090@svn.freebsd.org>
From: Kip Macy <kmacy@FreeBSD.org>
Date: Sun, 7 Jun 2009 01:02:33 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-user@freebsd.org
X-SVN-Group: user
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r193602 - user/kmacy/releng_7_2_fcs/sys/dev/cxgb
X-BeenThere: svn-src-user@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the experimental &quot; user&quot;
	src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
	<mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
	<mailto:svn-src-user-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 07 Jun 2009 01:02:33 -0000

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);