net: bridge: use switchdev for port flags set through sysfs too
[linux-2.6-microblaze.git] / net / bridge / br_sysfs_if.c
index 96ff63c..5aea942 100644 (file)
@@ -59,9 +59,8 @@ static BRPORT_ATTR(_name, 0644,                                       \
 static int store_flag(struct net_bridge_port *p, unsigned long v,
                      unsigned long mask)
 {
-       unsigned long flags;
-
-       flags = p->flags;
+       unsigned long flags = p->flags;
+       int err;
 
        if (v)
                flags |= mask;
@@ -69,6 +68,10 @@ static int store_flag(struct net_bridge_port *p, unsigned long v,
                flags &= ~mask;
 
        if (flags != p->flags) {
+               err = br_switchdev_set_port_flag(p, flags, mask);
+               if (err)
+                       return err;
+
                p->flags = flags;
                br_port_flags_change(p, mask);
        }