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 {
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"

Reply via email to