From owner-svn-src-all@FreeBSD.ORG Wed Mar 31 23:24:42 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D7A52106564A; Wed, 31 Mar 2010 23:24:42 +0000 (UTC) (envelope-from jfv@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C69FF8FC14; Wed, 31 Mar 2010 23:24:42 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o2VNOgBB054059; Wed, 31 Mar 2010 23:24:42 GMT (envelope-from jfv@svn.freebsd.org) Received: (from jfv@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o2VNOgB5054057; Wed, 31 Mar 2010 23:24:42 GMT (envelope-from jfv@svn.freebsd.org) Message-Id: <201003312324.o2VNOgB5054057@svn.freebsd.org> From: Jack F Vogel Date: Wed, 31 Mar 2010 23:24:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r206023 - head/sys/dev/e1000 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 31 Mar 2010 23:24:42 -0000 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 {