git: adf0ac345020 - stable/12 - e1000: Update mc filter before RCTL flags

From: Kevin Bowling <kbowling_at_FreeBSD.org>
Date: Wed, 27 Apr 2022 17:40:50 UTC
The branch stable/12 has been updated by kbowling (ports committer):

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

commit adf0ac345020fc975db407171a407bac2f489c53
Author:     Kevin Bowling <kbowling@FreeBSD.org>
AuthorDate: 2022-04-13 16:01:19 +0000
Commit:     Kevin Bowling <kbowling@FreeBSD.org>
CommitDate: 2022-04-27 17:36:40 +0000

    e1000: Update mc filter before RCTL flags
    
    Update mc filter array before changing RCTL flags as in 5a3eb6207a35
    
    Approved by:    grehan
    
    (cherry picked from commit 07ede751612f8879675e2970b3875ea3831e2b9c)
---
 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 696c6007cd9f..d7b4ab61303a 100644
--- a/sys/dev/e1000/if_em.c
+++ b/sys/dev/e1000/if_em.c
@@ -1723,6 +1723,9 @@ em_if_multi_set(if_ctx_t ctx)
 
 	if_multiaddr_array(ifp, mta, &mcnt, MAX_NUM_MULTICAST_ADDRESSES);
 
+	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)
@@ -1736,9 +1739,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);