git: 07ede751612f - main - e1000: Update mc filter before RCTL flags
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
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);