net: dsa: make the VLAN add function return void
The switchdev design implies that a software error should not happen in the commit phase since it must have been previously reported in the prepare phase. If an hardware error occurs during the commit phase, there is nothing switchdev can do about it. The DSA layer separates port_vlan_prepare and port_vlan_add for simplicity and convenience. If an hardware error occurs during the commit phase, there is no need to report it outside the driver itself. Make the DSA port_vlan_add routine return void for explicitness. Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
8497aa618d
commit
4d5770b397
@@ -207,21 +207,16 @@ static int dsa_slave_port_vlan_add(struct net_device *dev,
|
||||
{
|
||||
struct dsa_slave_priv *p = netdev_priv(dev);
|
||||
struct dsa_switch *ds = p->parent;
|
||||
int err;
|
||||
|
||||
if (switchdev_trans_ph_prepare(trans)) {
|
||||
if (!ds->drv->port_vlan_prepare || !ds->drv->port_vlan_add)
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
err = ds->drv->port_vlan_prepare(ds, p->port, vlan, trans);
|
||||
if (err)
|
||||
return err;
|
||||
} else {
|
||||
err = ds->drv->port_vlan_add(ds, p->port, vlan, trans);
|
||||
if (err)
|
||||
return err;
|
||||
return ds->drv->port_vlan_prepare(ds, p->port, vlan, trans);
|
||||
}
|
||||
|
||||
ds->drv->port_vlan_add(ds, p->port, vlan, trans);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user