Module Name: src Committed By: msaitoh Date: Thu Feb 16 08:01:11 UTC 2017
Modified Files: src/sys/dev/pci/ixgbe: ixgbe.c ixv.c Log Message: Do if_snd check even if IXGBE_LEGACY_TX is used. It's used by ALTQ. To generate a diff of this commit: cvs rdiff -u -r1.77 -r1.78 src/sys/dev/pci/ixgbe/ixgbe.c cvs rdiff -u -r1.53 -r1.54 src/sys/dev/pci/ixgbe/ixv.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/dev/pci/ixgbe/ixgbe.c diff -u src/sys/dev/pci/ixgbe/ixgbe.c:1.77 src/sys/dev/pci/ixgbe/ixgbe.c:1.78 --- src/sys/dev/pci/ixgbe/ixgbe.c:1.77 Thu Feb 16 07:58:21 2017 +++ src/sys/dev/pci/ixgbe/ixgbe.c Thu Feb 16 08:01:11 2017 @@ -59,7 +59,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ /*$FreeBSD: head/sys/dev/ixgbe/if_ix.c 302384 2016-07-07 03:39:18Z sbruno $*/ -/*$NetBSD: ixgbe.c,v 1.77 2017/02/16 07:58:21 msaitoh Exp $*/ +/*$NetBSD: ixgbe.c,v 1.78 2017/02/16 08:01:11 msaitoh Exp $*/ #include "opt_inet.h" #include "opt_inet6.h" @@ -1572,10 +1572,11 @@ ixgbe_handle_que(void *context) #ifndef IXGBE_LEGACY_TX if (pcq_peek(txr->txr_interq) != NULL) ixgbe_mq_start_locked(ifp, txr); -#else - if (!IFQ_IS_EMPTY(&ifp->if_snd)) - ixgbe_start_locked(txr, ifp); #endif + /* Only for queue 0 */ + if ((&adapter->queues[0] == que) + && (!IFQ_IS_EMPTY(&ifp->if_snd))) + ixgbe_start_locked(txr, ifp); IXGBE_TX_UNLOCK(txr); } Index: src/sys/dev/pci/ixgbe/ixv.c diff -u src/sys/dev/pci/ixgbe/ixv.c:1.53 src/sys/dev/pci/ixgbe/ixv.c:1.54 --- src/sys/dev/pci/ixgbe/ixv.c:1.53 Mon Feb 13 10:37:37 2017 +++ src/sys/dev/pci/ixgbe/ixv.c Thu Feb 16 08:01:11 2017 @@ -31,7 +31,7 @@ ******************************************************************************/ /*$FreeBSD: head/sys/dev/ixgbe/if_ixv.c 302384 2016-07-07 03:39:18Z sbruno $*/ -/*$NetBSD: ixv.c,v 1.53 2017/02/13 10:37:37 msaitoh Exp $*/ +/*$NetBSD: ixv.c,v 1.54 2017/02/16 08:01:11 msaitoh Exp $*/ #include "opt_inet.h" #include "opt_inet6.h" @@ -886,10 +886,11 @@ ixv_handle_que(void *context) #ifndef IXGBE_LEGACY_TX if (pcq_peek(txr->txr_interq) != NULL) ixgbe_mq_start_locked(ifp, txr); -#else - if (!IFQ_IS_EMPTY(&ifp->if_snd)) - ixgbe_start_locked(txr, ifp); #endif + /* Only for queue 0 */ + if ((&adapter->queues[0] == que) + && (!IFQ_IS_EMPTY(&ifp->if_snd))) + ixgbe_start_locked(txr, ifp); IXGBE_TX_UNLOCK(txr); if (more) { adapter->req.ev_count++;