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 */ /************************************************************************