}
set_bit(mc_group, priv->mc_group_bm);
- portmask = BIT_ULL(port) | BIT_ULL(priv->cpu_port);
+ portmask = BIT_ULL(port);
priv->r->write_mcast_pmask(mc_group, portmask);
return mc_group;
}
portmask &= ~BIT_ULL(port);
priv->r->write_mcast_pmask(mc_group, portmask);
- if (portmask == BIT_ULL(priv->cpu_port)) {
- portmask &= ~BIT_ULL(priv->cpu_port);
- priv->r->write_mcast_pmask(mc_group, portmask);
+ if (!portmask)
clear_bit(mc_group, priv->mc_group_bm);
- }
return portmask;
}