git: 07ede751612f - main - e1000: Update mc filter before RCTL flags

From: Kevin Bowling <kbowling_at_FreeBSD.org>
Date: Wed, 13 Apr 2022 16:02:06 UTC
The branch main has been updated by kbowling (ports committer):

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

commit 07ede751612f8879675e2970b3875ea3831e2b9c
Author:     Kevin Bowling <kbowling@FreeBSD.org>
AuthorDate: 2022-04-13 16:01:19 +0000
Commit:     Kevin Bowling <kbowling@FreeBSD.org>
CommitDate: 2022-04-13 16:01:19 +0000

    e1000: Update mc filter before RCTL flags
    
    Update mc filter array before changing RCTL flags as in 5a3eb6207a35
    
    Approved by:    grehan
    MFC after:      2 weeks
---
 sys/dev/e1000/if_em.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/sys/dev/e1000/if_em.c b/sys/dev/e1000/if_em.c
index cb0c01c9c65d..b3871361d335 100644
--- a/sys/dev/e1000/if_em.c
+++ b/sys/dev/e1000/if_em.c
@@ -1735,6 +1735,9 @@ em_if_multi_set(if_ctx_t ctx)
 
 	mcnt = if_foreach_llmaddr(ifp, em_copy_maddr, mta);
 
+	if (mcnt < MAX_NUM_MULTICAST_ADDRESSES)
+		e1000_update_mc_addr_list(&sc->hw, mta, mcnt);
+
 	reg_rctl = E1000_READ_REG(&sc->hw, E1000_RCTL);
 
 	if (if_getflags(ifp) & IFF_PROMISC)
@@ -1748,9 +1751,6 @@ em_if_multi_set(if_ctx_t ctx)
 
 	E1000_WRITE_REG(&sc->hw, E1000_RCTL, reg_rctl);
 
-	if (mcnt < MAX_NUM_MULTICAST_ADDRESSES)
-		e1000_update_mc_addr_list(&sc->hw, mta, mcnt);
-
 	if (sc->hw.mac.type == e1000_82542 &&
 	    sc->hw.revision_id == E1000_REVISION_2) {
 		reg_rctl = E1000_READ_REG(&sc->hw, E1000_RCTL);