diff --git a/net/dsa/switch.c b/net/dsa/switch.c
index 73746fa148f11466d03ca81efb8c4e890e836726..1e2929f4290a0d3799b2d8583fe32a0d4dc96080 100644
--- a/net/dsa/switch.c
+++ b/net/dsa/switch.c
@@ -182,6 +182,8 @@ static int dsa_switch_vlan_add(struct dsa_switch *ds,
 			if (err)
 				return err;
 		}
+
+		return 0;
 	}
 
 	for_each_set_bit(port, members, ds->num_ports)