net: mscc: ocelot: transmit the "native VLAN" error via extack
[platform/kernel/linux-rpi.git] / drivers / net / ethernet / mscc / ocelot.c
index 5209650..ccb8a98 100644 (file)
@@ -259,16 +259,15 @@ int ocelot_port_vlan_filtering(struct ocelot *ocelot, int port,
 EXPORT_SYMBOL(ocelot_port_vlan_filtering);
 
 int ocelot_vlan_prepare(struct ocelot *ocelot, int port, u16 vid, bool pvid,
-                       bool untagged)
+                       bool untagged, struct netlink_ext_ack *extack)
 {
        struct ocelot_port *ocelot_port = ocelot->ports[port];
 
        /* Deny changing the native VLAN, but always permit deleting it */
        if (untagged && ocelot_port->native_vlan.vid != vid &&
            ocelot_port->native_vlan.valid) {
-               dev_err(ocelot->dev,
-                       "Port already has a native VLAN: %d\n",
-                       ocelot_port->native_vlan.vid);
+               NL_SET_ERR_MSG_MOD(extack,
+                                  "Port already has a native VLAN");
                return -EBUSY;
        }
 
@@ -1358,6 +1357,7 @@ void ocelot_apply_bridge_fwd_mask(struct ocelot *ocelot)
                        struct net_device *bond = ocelot_port->bond;
 
                        mask = ocelot_get_bridge_fwd_mask(ocelot, bridge);
+                       mask |= cpu_fwd_mask;
                        mask &= ~BIT(port);
                        if (bond) {
                                mask &= ~ocelot_get_bond_mask(ocelot, bond,