On Thu, Dec 09, 2021 at 10:46:14AM +0100, Horatiu Vultur wrote: > +int lan966x_vlan_port_set_vid(struct lan966x_port *port, u16 vid, > + bool pvid, bool untagged) > +{ > + struct lan966x *lan966x = port->lan966x; > + > + /* Egress vlan classification */ > + if (untagged && port->vid != vid) { > + if (port->vid) { > + dev_err(lan966x->dev, > + "Port already has a native VLAN: %d\n", > + port->vid); > + return -EBUSY; Are you interested in supporting the use case from 0da1a1c48911 ("net: mscc: ocelot: allow a config where all bridge VLANs are egress-untagged")? Because it would be good if the driver was structured that way from the get-go instead of patching it later. > + } > + port->vid = vid; > + } > + > + /* Default ingress vlan classification */ > + if (pvid) > + port->pvid = vid; > + > + return 0; > +}