diff options
| author | msaitoh <msaitoh@NetBSD.org> | 2021-09-03 08:57:58 +0000 |
|---|---|---|
| committer | msaitoh <msaitoh@NetBSD.org> | 2021-09-03 08:57:58 +0000 |
| commit | d32b79e6478e7c4352fba7a055da3cfc42237d18 (patch) | |
| tree | cc995f72edce5f048906d0e7a81af2da7bf0dc81 /sys/dev | |
| parent | 0808c845f2296f234edd5a45a12bc2e679b37f3c (diff) | |
Save the discard_multidesc state to not to forget the state by exiting rxeof().
Diffstat (limited to 'sys/dev')
| -rw-r--r-- | sys/dev/pci/ixgbe/ix_txrx.c | 10 | ||||
| -rw-r--r-- | sys/dev/pci/ixgbe/ixgbe.h | 3 |
2 files changed, 9 insertions, 4 deletions
diff --git a/sys/dev/pci/ixgbe/ix_txrx.c b/sys/dev/pci/ixgbe/ix_txrx.c index a989092a2a4..9da651a3479 100644 --- a/sys/dev/pci/ixgbe/ix_txrx.c +++ b/sys/dev/pci/ixgbe/ix_txrx.c @@ -1,4 +1,4 @@ -/* $NetBSD: ix_txrx.c,v 1.89 2021/09/03 08:43:23 msaitoh Exp $ */ +/* $NetBSD: ix_txrx.c,v 1.90 2021/09/03 08:57:58 msaitoh Exp $ */ /****************************************************************************** @@ -64,7 +64,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ix_txrx.c,v 1.89 2021/09/03 08:43:23 msaitoh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ix_txrx.c,v 1.90 2021/09/03 08:57:58 msaitoh Exp $"); #include "opt_inet.h" #include "opt_inet6.h" @@ -1568,6 +1568,7 @@ ixgbe_setup_receive_ring(struct rx_ring *rxr) rxr->next_to_check = 0; rxr->next_to_refresh = adapter->num_rx_desc - 1; /* Fully allocated */ rxr->lro_enabled = FALSE; + rxr->discard_multidesc = false; rxr->rx_copies.ev_count = 0; #if 0 /* NetBSD */ rxr->rx_bytes.ev_count = 0; @@ -1805,7 +1806,7 @@ ixgbe_rxeof(struct ix_queue *que) u32 staterr = 0; u32 loopcount = 0; u32 limit = adapter->rx_process_limit; - bool discard_multidesc = false; + bool discard_multidesc = rxr->discard_multidesc; #ifdef RSS u16 pkt_info; #endif @@ -2114,6 +2115,9 @@ next_desc: } } + /* Save the current status */ + rxr->discard_multidesc = discard_multidesc; + /* Refresh any remaining buf structs */ if (ixgbe_rx_unrefreshed(rxr)) ixgbe_refresh_mbufs(rxr, i); diff --git a/sys/dev/pci/ixgbe/ixgbe.h b/sys/dev/pci/ixgbe/ixgbe.h index 85a4d524b03..6ba810750a4 100644 --- a/sys/dev/pci/ixgbe/ixgbe.h +++ b/sys/dev/pci/ixgbe/ixgbe.h @@ -1,4 +1,4 @@ -/* $NetBSD: ixgbe.h,v 1.79 2021/08/26 09:03:47 msaitoh Exp $ */ +/* $NetBSD: ixgbe.h,v 1.80 2021/09/03 08:57:58 msaitoh Exp $ */ /****************************************************************************** SPDX-License-Identifier: BSD-3-Clause @@ -407,6 +407,7 @@ struct rx_ring { bool lro_enabled; bool hw_rsc; bool vtag_strip; + bool discard_multidesc; u16 next_to_refresh; u16 next_to_check; u16 num_desc; |
