diff --git a/[refs] b/[refs] index 36fc0c3f7dd9..4028f4b9d4b5 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: de140b0d511ad86a5dd0888c9095ae030ada2e86 +refs/heads/master: 3a7fda06ba48e97650fe44ea8e8a7cc385e1c100 diff --git a/trunk/net/bridge/br_multicast.c b/trunk/net/bridge/br_multicast.c index 85afcdab4921..eb5b256ffc88 100644 --- a/trunk/net/bridge/br_multicast.c +++ b/trunk/net/bridge/br_multicast.c @@ -1728,13 +1728,9 @@ int br_multicast_set_port_router(struct net_bridge_port *p, unsigned long val) int br_multicast_toggle(struct net_bridge *br, unsigned long val) { struct net_bridge_port *port; - int err = -ENOENT; + int err = 0; spin_lock(&br->multicast_lock); - if (!netif_running(br->dev)) - goto unlock; - - err = 0; if (br->multicast_disabled == !val) goto unlock; @@ -1742,6 +1738,9 @@ int br_multicast_toggle(struct net_bridge *br, unsigned long val) if (br->multicast_disabled) goto unlock; + if (!netif_running(br->dev)) + goto unlock; + if (br->mdb) { if (br->mdb->old) { err = -EEXIST;