diff options
author | Vivien Didelot <vivien.didelot@savoirfairelinux.com> | 2016-04-06 11:55:04 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-04-08 16:50:40 -0400 |
commit | 8497aa618dd605b084fae86e676ea23ca85558b5 (patch) | |
tree | 22d98e1938f22eaa2fdd41995825bf02851557bf /net/dsa | |
parent | 43c44a9f655170fb92536167b95b1c6ae8b732cb (diff) | |
download | linux-8497aa618dd605b084fae86e676ea23ca85558b5.tar.gz linux-8497aa618dd605b084fae86e676ea23ca85558b5.tar.bz2 linux-8497aa618dd605b084fae86e676ea23ca85558b5.zip |
net: dsa: make the FDB 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_fdb_prepare and port_fdb_add for simplicity
and convenience. If an hardware error occurs during the commit phase,
there is no need to report it outside the DSA driver itself.
Make the DSA port_fdb_add routine return void for explicitness.
Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/dsa')
-rw-r--r-- | net/dsa/slave.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/net/dsa/slave.c b/net/dsa/slave.c index 088215c3642f..90bc7442c44f 100644 --- a/net/dsa/slave.c +++ b/net/dsa/slave.c @@ -256,17 +256,17 @@ static int dsa_slave_port_fdb_add(struct net_device *dev, { struct dsa_slave_priv *p = netdev_priv(dev); struct dsa_switch *ds = p->parent; - int ret; - if (!ds->drv->port_fdb_prepare || !ds->drv->port_fdb_add) - return -EOPNOTSUPP; + if (switchdev_trans_ph_prepare(trans)) { + if (!ds->drv->port_fdb_prepare || !ds->drv->port_fdb_add) + return -EOPNOTSUPP; - if (switchdev_trans_ph_prepare(trans)) - ret = ds->drv->port_fdb_prepare(ds, p->port, fdb, trans); - else - ret = ds->drv->port_fdb_add(ds, p->port, fdb, trans); + return ds->drv->port_fdb_prepare(ds, p->port, fdb, trans); + } - return ret; + ds->drv->port_fdb_add(ds, p->port, fdb, trans); + + return 0; } static int dsa_slave_port_fdb_del(struct net_device *dev, |