switchdev: fix: erasing too much of vlan obj when handling multiple vlan specs
[cascardo/linux.git] / net / switchdev / switchdev.c
index 8950d39..d6b4a84 100644 (file)
@@ -869,7 +869,7 @@ static int switchdev_port_br_afspec(struct net_device *dev,
                        err = f(dev, &vlan.obj);
                        if (err)
                                return err;
-                       memset(&vlan, 0, sizeof(vlan));
+                       vlan.vid_begin = 0;
                } else {
                        if (vlan.vid_begin)
                                return -EINVAL;
@@ -878,7 +878,7 @@ static int switchdev_port_br_afspec(struct net_device *dev,
                        err = f(dev, &vlan.obj);
                        if (err)
                                return err;
-                       memset(&vlan, 0, sizeof(vlan));
+                       vlan.vid_begin = 0;
                }
        }