diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c index 71c109b0943fc8ee8876c93ce41eddfef5c64d30..f1140cf5168daf1f8141d57bb72d1b4186570aa5 100644 --- a/net/bridge/br_multicast.c +++ b/net/bridge/br_multicast.c @@ -1853,7 +1853,10 @@ int br_multicast_set_port_router(struct net_bridge_port *p, unsigned long val) int err = -EINVAL; spin_lock(&br->multicast_lock); - + if (p->multicast_router == val) { + err = 0; + goto unlock; + } switch (val) { case MDB_RTR_TYPE_DISABLED: p->multicast_router = MDB_RTR_TYPE_DISABLED;