aboutsummaryrefslogtreecommitdiffstats
path: root/net/dsa/slave.c
diff options
context:
space:
mode:
authorVivien Didelot <vivien.didelot@savoirfairelinux.com>2016-04-06 11:55:05 -0400
committerDavid S. Miller <davem@davemloft.net>2016-04-08 16:50:41 -0400
commit4d5770b39710180644f655b2c6cb0c880d108c63 (patch)
treea416797b924cb52dfe9fe95464f12205286e7bc7 /net/dsa/slave.c
parent8497aa618dd605b084fae86e676ea23ca85558b5 (diff)
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>
Diffstat (limited to 'net/dsa/slave.c')
-rw-r--r--net/dsa/slave.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/net/dsa/slave.c b/net/dsa/slave.c
index 90bc7442c44f..2dae0d064359 100644
--- a/net/dsa/slave.c
+++ b/net/dsa/slave.c
@@ -207,21 +207,16 @@ static int dsa_slave_port_vlan_add(struct net_device *dev,
207{ 207{
208 struct dsa_slave_priv *p = netdev_priv(dev); 208 struct dsa_slave_priv *p = netdev_priv(dev);
209 struct dsa_switch *ds = p->parent; 209 struct dsa_switch *ds = p->parent;
210 int err;
211 210
212 if (switchdev_trans_ph_prepare(trans)) { 211 if (switchdev_trans_ph_prepare(trans)) {
213 if (!ds->drv->port_vlan_prepare || !ds->drv->port_vlan_add) 212 if (!ds->drv->port_vlan_prepare || !ds->drv->port_vlan_add)
214 return -EOPNOTSUPP; 213 return -EOPNOTSUPP;
215 214
216 err = ds->drv->port_vlan_prepare(ds, p->port, vlan, trans); 215 return ds->drv->port_vlan_prepare(ds, p->port, vlan, trans);
217 if (err)
218 return err;
219 } else {
220 err = ds->drv->port_vlan_add(ds, p->port, vlan, trans);
221 if (err)
222 return err;
223 } 216 }
224 217
218 ds->drv->port_vlan_add(ds, p->port, vlan, trans);
219
225 return 0; 220 return 0;
226} 221}
227 222