aboutsummaryrefslogtreecommitdiffstats
path: root/net/dsa
diff options
context:
space:
mode:
authorVivien Didelot <vivien.didelot@savoirfairelinux.com>2016-04-06 11:55:04 -0400
committerDavid S. Miller <davem@davemloft.net>2016-04-08 16:50:40 -0400
commit8497aa618dd605b084fae86e676ea23ca85558b5 (patch)
tree22d98e1938f22eaa2fdd41995825bf02851557bf /net/dsa
parent43c44a9f655170fb92536167b95b1c6ae8b732cb (diff)
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.c16
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,
256{ 256{
257 struct dsa_slave_priv *p = netdev_priv(dev); 257 struct dsa_slave_priv *p = netdev_priv(dev);
258 struct dsa_switch *ds = p->parent; 258 struct dsa_switch *ds = p->parent;
259 int ret;
260 259
261 if (!ds->drv->port_fdb_prepare || !ds->drv->port_fdb_add) 260 if (switchdev_trans_ph_prepare(trans)) {
262 return -EOPNOTSUPP; 261 if (!ds->drv->port_fdb_prepare || !ds->drv->port_fdb_add)
262 return -EOPNOTSUPP;
263 263
264 if (switchdev_trans_ph_prepare(trans)) 264 return ds->drv->port_fdb_prepare(ds, p->port, fdb, trans);
265 ret = ds->drv->port_fdb_prepare(ds, p->port, fdb, trans); 265 }
266 else
267 ret = ds->drv->port_fdb_add(ds, p->port, fdb, trans);
268 266
269 return ret; 267 ds->drv->port_fdb_add(ds, p->port, fdb, trans);
268
269 return 0;
270} 270}
271 271
272static int dsa_slave_port_fdb_del(struct net_device *dev, 272static int dsa_slave_port_fdb_del(struct net_device *dev,