Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 31 Mar 2010 23:24:42 +0000 (UTC)
From:      Jack F Vogel <jfv@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r206023 - head/sys/dev/e1000
Message-ID:  <201003312324.o2VNOgB5054057@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jfv
Date: Wed Mar 31 23:24:42 2010
New Revision: 206023
URL: http://svn.freebsd.org/changeset/base/206023

Log:
  The POLL code was missed in the queue conversion,
  change the argument type to igb_rxeof() to the
  correct type. Note, any users of POLLING must
  be sure and set the number of queues to 1 for
  things to work correctly.

Modified:
  head/sys/dev/e1000/if_igb.c

Modified: head/sys/dev/e1000/if_igb.c
==============================================================================
--- head/sys/dev/e1000/if_igb.c	Wed Mar 31 23:02:25 2010	(r206022)
+++ head/sys/dev/e1000/if_igb.c	Wed Mar 31 23:24:42 2010	(r206023)
@@ -1316,7 +1316,8 @@ igb_irq_fast(void *arg)
 #ifdef DEVICE_POLLING
 /*********************************************************************
  *
- *  Legacy polling routine  
+ *  Legacy polling routine : if using this code you MUST be sure that
+ *  multiqueue is not defined, ie, set igb_num_queues to 1.
  *
  *********************************************************************/
 #if __FreeBSD_version >= 800000
@@ -1328,12 +1329,12 @@ static void
 #endif
 igb_poll(struct ifnet *ifp, enum poll_cmd cmd, int count)
 {
-	struct adapter *adapter = ifp->if_softc;
-	struct rx_ring	*rxr = adapter->rx_rings;
-	struct tx_ring	*txr = adapter->tx_rings;
-	u32		reg_icr, rx_done = 0;
-	u32		loop = IGB_MAX_LOOP;
-	bool		more;
+	struct adapter		*adapter = ifp->if_softc;
+	struct igb_queue	*que = adapter->queues;
+	struct tx_ring		*txr = adapter->tx_rings;
+	u32			reg_icr, rx_done = 0;
+	u32			loop = IGB_MAX_LOOP;
+	bool			more;
 
 	IGB_CORE_LOCK(adapter);
 	if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) {
@@ -1353,7 +1354,7 @@ igb_poll(struct ifnet *ifp, enum poll_cm
 	IGB_CORE_UNLOCK(adapter);
 
 	/* TODO: rx_count */
-	rx_done = igb_rxeof(rxr, count) ? 1 : 0;
+	rx_done = igb_rxeof(que, count) ? 1 : 0;
 
 	IGB_TX_LOCK(txr);
 	do {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201003312324.o2VNOgB5054057>