aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/net/dsa/port.c
diff options
context:
space:
mode:
authorVivien Didelot <vivien.didelot@gmail.com>2019-08-25 13:25:16 -0400
committerDavid S. Miller <davem@davemloft.net>2019-08-27 20:17:27 -0700
commitcf360866b11901eca5317e8a5c26c3e15b7bf1f2 (patch)
tree9321d3d52b8f01ad89b9133cbb6a3ed9701f50cc /net/dsa/port.c
parentnet: dsa: remove bitmap operations (diff)
downloadwireguard-linux-cf360866b11901eca5317e8a5c26c3e15b7bf1f2.tar.xz
wireguard-linux-cf360866b11901eca5317e8a5c26c3e15b7bf1f2.zip
net: dsa: do not skip -EOPNOTSUPP in dsa_port_vid_add
Currently dsa_port_vid_add returns 0 if the switch returns -EOPNOTSUPP. This function is used in the tag_8021q.c code to offload the PVID of ports, which would simply not work if .port_vlan_add is not supported by the underlying switch. Do not skip -EOPNOTSUPP in dsa_port_vid_add but only when necessary, that is to say in dsa_slave_vlan_rx_add_vid. Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/dsa/port.c')
-rw-r--r--net/dsa/port.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/dsa/port.c b/net/dsa/port.c
index f75301456430..ef28df7ecbde 100644
--- a/net/dsa/port.c
+++ b/net/dsa/port.c
@@ -382,8 +382,8 @@ int dsa_port_vid_add(struct dsa_port *dp, u16 vid, u16 flags)
trans.ph_prepare = true;
err = dsa_port_vlan_add(dp, &vlan, &trans);
- if (err == -EOPNOTSUPP)
- return 0;
+ if (err)
+ return err;
trans.ph_prepare = false;
return dsa_port_vlan_add(dp, &vlan, &trans);