summaryrefslogtreecommitdiffstats
path: root/net/bridge/br_switchdev.c
diff options
context:
space:
mode:
authorVladimir Oltean <vladimir.oltean@nxp.com>2021-02-13 22:43:17 +0200
committerDavid S. Miller <davem@davemloft.net>2021-02-14 17:38:11 -0800
commitdcbdf1350e3312c199dbc6a76f41cf8f67e8c09c (patch)
tree2856b192afcaff113ca1285ffc078c92e5584b15 /net/bridge/br_switchdev.c
parent9e781401cbfcd83c4d766b4c6c5efce8348d4d13 (diff)
downloadlinux-dcbdf1350e3312c199dbc6a76f41cf8f67e8c09c.tar.gz
linux-dcbdf1350e3312c199dbc6a76f41cf8f67e8c09c.tar.bz2
linux-dcbdf1350e3312c199dbc6a76f41cf8f67e8c09c.zip
net: bridge: propagate extack through switchdev_port_attr_set
The benefit is the ability to propagate errors from switchdev drivers for the SWITCHDEV_ATTR_ID_BRIDGE_VLAN_FILTERING and SWITCHDEV_ATTR_ID_BRIDGE_VLAN_PROTOCOL attributes. Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/bridge/br_switchdev.c')
-rw-r--r--net/bridge/br_switchdev.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/net/bridge/br_switchdev.c b/net/bridge/br_switchdev.c
index 184cf4c8b06d..b89503832fcc 100644
--- a/net/bridge/br_switchdev.c
+++ b/net/bridge/br_switchdev.c
@@ -96,9 +96,11 @@ int br_switchdev_set_port_flag(struct net_bridge_port *p,
attr.id = SWITCHDEV_ATTR_ID_PORT_BRIDGE_FLAGS;
attr.flags = SWITCHDEV_F_DEFER;
- err = switchdev_port_attr_set(p->dev, &attr);
+ err = switchdev_port_attr_set(p->dev, &attr, extack);
if (err) {
- NL_SET_ERR_MSG_MOD(extack, "error setting offload flag on port");
+ if (extack && !extack->_msg)
+ NL_SET_ERR_MSG_MOD(extack,
+ "error setting offload flag on port");
return err;
}