The branch stable/12 has been updated by kbowling (ports committer):

URL: 
https://cgit.FreeBSD.org/src/commit/?id=fc3ef237e24690aa9b5fb0e93bd07f489ce734df

commit fc3ef237e24690aa9b5fb0e93bd07f489ce734df
Author:     Kevin Bowling <[email protected]>
AuthorDate: 2022-04-13 15:59:21 +0000
Commit:     Kevin Bowling <[email protected]>
CommitDate: 2022-04-27 17:36:27 +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 581944fa6a73..9bb368ae8a90 100644
--- a/sys/dev/ixgbe/if_ix.c
+++ b/sys/dev/ixgbe/if_ix.c
@@ -3289,6 +3289,12 @@ ixgbe_if_multi_set(if_ctx_t ctx)
 
        mcnt = if_multi_apply(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)
@@ -3301,13 +3307,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 */
 
 /************************************************************************

Reply via email to