This is needed for the upcoming temporary port router. There's no point
to go through the logic if the value is the same.

Signed-off-by: Nikolay Aleksandrov <niko...@cumulusnetworks.com>
---
 net/bridge/br_multicast.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
index 015c47dd1364..496f808f9aa1 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:
                __del_port_router(p);
-- 
2.4.3

Reply via email to