mlxsw: spectrum: Don't abort on first error when removing VLANs
authorIdo Schimmel <idosch@mellanox.com>
Wed, 24 Aug 2016 10:00:25 +0000 (12:00 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 24 Aug 2016 16:41:12 +0000 (09:41 -0700)
When removing VLANs from the VLAN-aware bridge we shouldn't abort on the
first error, as we'll otherwise have resources that will never be freed.

Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c

index 2f3831058bfec5d7dd03eb24bea5138ca565194a..e5cf8a5da5d05d0244812175b9f7a4a927a4e310 100644 (file)
@@ -1001,29 +1001,17 @@ static int mlxsw_sp_port_obj_add(struct net_device *dev,
 static int __mlxsw_sp_port_vlans_del(struct mlxsw_sp_port *mlxsw_sp_port,
                                     u16 vid_begin, u16 vid_end)
 {
-       struct net_device *dev = mlxsw_sp_port->dev;
        u16 vid, pvid;
-       int err;
 
        if (!mlxsw_sp_port->bridged)
                return -EINVAL;
 
        pvid = mlxsw_sp_port->pvid;
-       if (pvid >= vid_begin && pvid <= vid_end) {
-               err = mlxsw_sp_port_pvid_set(mlxsw_sp_port, 0);
-               if (err) {
-                       netdev_err(dev, "Unable to del PVID %d\n", pvid);
-                       return err;
-               }
-       }
+       if (pvid >= vid_begin && pvid <= vid_end)
+               mlxsw_sp_port_pvid_set(mlxsw_sp_port, 0);
 
-       err = __mlxsw_sp_port_vlans_set(mlxsw_sp_port, vid_begin, vid_end,
-                                       false, false);
-       if (err) {
-               netdev_err(dev, "Unable to del VIDs %d-%d\n", vid_begin,
-                          vid_end);
-               return err;
-       }
+       __mlxsw_sp_port_vlans_set(mlxsw_sp_port, vid_begin, vid_end, false,
+                                 false);
 
        mlxsw_sp_port_fid_leave(mlxsw_sp_port, vid_begin, vid_end);