realtek: actually remove port from multicast portmask
Fixes: 724e4af530cd ("realtek: Store and Restore MC memberships for port enable/disable") Signed-off-by: Jan Hoffmann <jan@3e8.eu>
This commit is contained in:
parent
57df840670
commit
3356126b82
@ -1024,6 +1024,7 @@ static u64 rtl83xx_mc_group_del_port(struct rtl838x_switch_priv *priv, int mc_gr
|
|||||||
pr_info("%s: %d is lag slave. ignore\n", __func__, port);
|
pr_info("%s: %d is lag slave. ignore\n", __func__, port);
|
||||||
return portmask;
|
return portmask;
|
||||||
}
|
}
|
||||||
|
portmask &= ~BIT_ULL(port);
|
||||||
priv->r->write_mcast_pmask(mc_group, portmask);
|
priv->r->write_mcast_pmask(mc_group, portmask);
|
||||||
if (portmask == BIT_ULL(priv->cpu_port)) {
|
if (portmask == BIT_ULL(priv->cpu_port)) {
|
||||||
portmask &= ~BIT_ULL(priv->cpu_port);
|
portmask &= ~BIT_ULL(priv->cpu_port);
|
||||||
|
@ -1011,6 +1011,7 @@ static u64 rtl83xx_mc_group_del_port(struct rtl838x_switch_priv *priv, int mc_gr
|
|||||||
pr_info("%s: %d is lag slave. ignore\n", __func__, port);
|
pr_info("%s: %d is lag slave. ignore\n", __func__, port);
|
||||||
return portmask;
|
return portmask;
|
||||||
}
|
}
|
||||||
|
portmask &= ~BIT_ULL(port);
|
||||||
priv->r->write_mcast_pmask(mc_group, portmask);
|
priv->r->write_mcast_pmask(mc_group, portmask);
|
||||||
if (portmask == BIT_ULL(priv->cpu_port)) {
|
if (portmask == BIT_ULL(priv->cpu_port)) {
|
||||||
portmask &= ~BIT_ULL(priv->cpu_port);
|
portmask &= ~BIT_ULL(priv->cpu_port);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user