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>
---
v2: no change

 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 71c109b0943f..f1140cf5168d 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;
-- 
2.4.3

Reply via email to