ixgbe: Update mc filter before FCTRL flags
Update mc filter array before changing FCTRL flags, similar to 5a3eb6207a
Approved by: grehan
MFC after: 2 weeks
This commit is contained in:
parent
016bfb0a97
commit
395cc55d89
@ -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 */
|
||||
|
||||
/************************************************************************
|
||||
|
Loading…
Reference in New Issue
Block a user