On Mon, Mar 07, 2016 at 06:24:52PM -0500, Vivien Didelot wrote: > There is no need to change the 802.1Q port mode for the same value. > Thus avoid such message: > > [ 401.954836] dsa dsa@0 lan0: 802.1Q Mode: Disabled (was Disabled) > > Signed-off-by: Vivien Didelot <vivien.dide...@savoirfairelinux.com>
Tested-by: Andrew Lunn <and...@lunn.ch> Thanks Andrew > --- > drivers/net/dsa/mv88e6xxx.c | 21 +++++++++++++-------- > 1 file changed, 13 insertions(+), 8 deletions(-) > > diff --git a/drivers/net/dsa/mv88e6xxx.c b/drivers/net/dsa/mv88e6xxx.c > index 1aee42d..5f07524 100644 > --- a/drivers/net/dsa/mv88e6xxx.c > +++ b/drivers/net/dsa/mv88e6xxx.c > @@ -1765,16 +1765,21 @@ int mv88e6xxx_port_vlan_filtering(struct dsa_switch > *ds, int port, > > old = ret & PORT_CONTROL_2_8021Q_MASK; > > - ret &= ~PORT_CONTROL_2_8021Q_MASK; > - ret |= new & PORT_CONTROL_2_8021Q_MASK; > + if (new != old) { > + ret &= ~PORT_CONTROL_2_8021Q_MASK; > + ret |= new & PORT_CONTROL_2_8021Q_MASK; > > - ret = _mv88e6xxx_reg_write(ds, REG_PORT(port), PORT_CONTROL_2, ret); > - if (ret < 0) > - goto unlock; > + ret = _mv88e6xxx_reg_write(ds, REG_PORT(port), PORT_CONTROL_2, > + ret); > + if (ret < 0) > + goto unlock; > + > + netdev_dbg(ds->ports[port], "802.1Q Mode %s (was %s)\n", > + mv88e6xxx_port_8021q_mode_names[new], > + mv88e6xxx_port_8021q_mode_names[old]); > + } > > - netdev_dbg(ds->ports[port], "802.1Q Mode: %s (was %s)\n", > - mv88e6xxx_port_8021q_mode_names[new], > - mv88e6xxx_port_8021q_mode_names[old]); > + ret = 0; > unlock: > mutex_unlock(&ps->smi_mutex); > > -- > 2.7.2 >