net: bridge: keep ports without IFF_UNICAST_FLT in BR_PROMISC mode
[linux-2.6-microblaze.git] / net / bridge / br_if.c
index 3f04b40..2450690 100644 (file)
@@ -166,8 +166,9 @@ void br_manage_promisc(struct net_bridge *br)
                         * This lets us disable promiscuous mode and write
                         * this config to hw.
                         */
-                       if (br->auto_cnt == 0 ||
-                           (br->auto_cnt == 1 && br_auto_port(p)))
+                       if ((p->dev->priv_flags & IFF_UNICAST_FLT) &&
+                           (br->auto_cnt == 0 ||
+                            (br->auto_cnt == 1 && br_auto_port(p))))
                                br_port_clear_promisc(p);
                        else
                                br_port_set_promisc(p);