git: 395cc55d8966 - main - ixgbe: Update mc filter before FCTRL flags
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 13 Apr 2022 16:00:21 UTC
The branch main has been updated by kbowling (ports committer): URL: https://cgit.FreeBSD.org/src/commit/?id=395cc55d896654b8f75071e71e856b22aed87da5 commit 395cc55d896654b8f75071e71e856b22aed87da5 Author: Kevin Bowling <kbowling@FreeBSD.org> AuthorDate: 2022-04-13 15:59:21 +0000 Commit: Kevin Bowling <kbowling@FreeBSD.org> CommitDate: 2022-04-13 15:59:21 +0000 ixgbe: Update mc filter before FCTRL flags Update mc filter array before changing FCTRL flags, similar to 5a3eb6207a35 Approved by: grehan MFC after: 2 weeks --- 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 4e34a1b12302..d7df1dcf6899 100644 --- a/sys/dev/ixgbe/if_ix.c +++ b/sys/dev/ixgbe/if_ix.c @@ -3400,6 +3400,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) @@ -3412,13 +3418,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 */ /************************************************************************