On Wed, Jan 13, 2021 at 01:45:20PM +0100, Gilles DOFFE wrote:
> If a VLAN is removed, the tagging policy should not be changed as
> still active VLANs could be impacted.
> 
> Signed-off-by: Gilles DOFFE <gilles.do...@savoirfairelinux.com>
> ---
>  drivers/net/dsa/microchip/ksz8795.c | 3 ---
>  1 file changed, 3 deletions(-)
> 
> diff --git a/drivers/net/dsa/microchip/ksz8795.c 
> b/drivers/net/dsa/microchip/ksz8795.c
> index 193f03ef9160..b55fb2761993 100644
> --- a/drivers/net/dsa/microchip/ksz8795.c
> +++ b/drivers/net/dsa/microchip/ksz8795.c
> @@ -880,7 +880,6 @@ static void ksz8795_port_vlan_add(struct dsa_switch *ds, 
> int port,
>  static int ksz8795_port_vlan_del(struct dsa_switch *ds, int port,
>                                const struct switchdev_obj_port_vlan *vlan)
>  {
> -     bool untagged = vlan->flags & BRIDGE_VLAN_INFO_UNTAGGED;
>       struct ksz_device *dev = ds->priv;
>       u16 data, vid, pvid, new_pvid = 0;
>       u8 fid, member, valid;
> @@ -888,8 +887,6 @@ static int ksz8795_port_vlan_del(struct dsa_switch *ds, 
> int port,
>       ksz_pread16(dev, port, REG_PORT_CTRL_VID, &pvid);
>       pvid = pvid & 0xFFF;
>  
> -     ksz_port_cfg(dev, port, P_TAG_CTRL, PORT_REMOVE_TAG, untagged);
> -
>       for (vid = vlan->vid_begin; vid <= vlan->vid_end; vid++) {
>               ksz8795_r_vlan_table(dev, vid, &data);
>               ksz8795_from_vlan(data, &fid, &member, &valid);
> -- 
> 2.25.1
> 

What do you mean the tagging policy "should not be changed". Nothing is
changed, the write to PORT_REMOVE_TAG is identical to the one done on
.port_vlan_add. If anything, the egress untagging policy is reinforced
on delete, not changed...

What's the actual problem (beside for the fact that the driver is
obviously a lot more broken than you can fix through patches to "net")?

Reply via email to