git: c4661f71cb42 - stable/13 - ixgbe: Update mc filter before FCTRL flags
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 27 Apr 2022 17:35:52 UTC
The branch stable/13 has been updated by kbowling (ports committer):
URL: https://cgit.FreeBSD.org/src/commit/?id=c4661f71cb42da91b50e6d0e6158bb6869d887fa
commit c4661f71cb42da91b50e6d0e6158bb6869d887fa
Author: Kevin Bowling <kbowling@FreeBSD.org>
AuthorDate: 2022-04-13 15:59:21 +0000
Commit: Kevin Bowling <kbowling@FreeBSD.org>
CommitDate: 2022-04-27 17:34:50 +0000
ixgbe: Update mc filter before FCTRL flags
Update mc filter array before changing FCTRL flags, similar to 5a3eb6207a35
Approved by: grehan
(cherry picked from commit 395cc55d896654b8f75071e71e856b22aed87da5)
---
sys/dev/ixgbe/if_ix.c | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/sys/dev/ixgbe/if_ix.c b/sys/dev/ixgbe/if_ix.c
index 3077fc9ac4f8..68a17993cac5 100644
--- a/sys/dev/ixgbe/if_ix.c
+++ b/sys/dev/ixgbe/if_ix.c
@@ -3420,6 +3420,12 @@ ixgbe_if_multi_set(if_ctx_t ctx)
mcnt = if_foreach_llmaddr(iflib_get_ifp(ctx), ixgbe_mc_filter_apply, sc);
+ if (mcnt < MAX_NUM_MULTICAST_ADDRESSES) {
+ update_ptr = (u8 *)mta;
+ ixgbe_update_mc_addr_list(&sc->hw, update_ptr, mcnt,
+ ixgbe_mc_array_itr, true);
+ }
+
fctrl = IXGBE_READ_REG(&sc->hw, IXGBE_FCTRL);
if (ifp->if_flags & IFF_PROMISC)
@@ -3432,13 +3438,6 @@ ixgbe_if_multi_set(if_ctx_t ctx)
fctrl &= ~(IXGBE_FCTRL_UPE | IXGBE_FCTRL_MPE);
IXGBE_WRITE_REG(&sc->hw, IXGBE_FCTRL, fctrl);
-
- if (mcnt < MAX_NUM_MULTICAST_ADDRESSES) {
- update_ptr = (u8 *)mta;
- ixgbe_update_mc_addr_list(&sc->hw, update_ptr, mcnt,
- ixgbe_mc_array_itr, true);
- }
-
} /* ixgbe_if_multi_set */
/************************************************************************