net: dpaa2-switch: use extack in dpaa2_switch_port_bridge_join
authorVladimir Oltean <vladimir.oltean@nxp.com>
Wed, 21 Jul 2021 16:23:57 +0000 (19:23 +0300)
committerDavid S. Miller <davem@davemloft.net>
Thu, 22 Jul 2021 07:26:23 +0000 (00:26 -0700)
We need to propagate the extack argument for
dpaa2_switch_port_bridge_join to use it in a future patch, and it looks
like there is already an error message there which is currently printed
to the console. Move it over netlink so it is properly transmitted to
user space.

Cc: Ioana Ciornei <ioana.ciornei@nxp.com>
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Tested-by: Ioana Ciornei <ioana.ciornei@nxp.com>
Acked-by: Ioana Ciornei <ioana.ciornei@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c

index f3d12d0..62d322e 100644 (file)
@@ -1890,7 +1890,8 @@ static int dpaa2_switch_port_attr_set_event(struct net_device *netdev,
 }
 
 static int dpaa2_switch_port_bridge_join(struct net_device *netdev,
-                                        struct net_device *upper_dev)
+                                        struct net_device *upper_dev,
+                                        struct netlink_ext_ack *extack)
 {
        struct ethsw_port_priv *port_priv = netdev_priv(netdev);
        struct ethsw_core *ethsw = port_priv->ethsw_data;
@@ -1906,8 +1907,8 @@ static int dpaa2_switch_port_bridge_join(struct net_device *netdev,
 
                other_port_priv = netdev_priv(other_dev);
                if (other_port_priv->ethsw_data != port_priv->ethsw_data) {
-                       netdev_err(netdev,
-                                  "Interface from a different DPSW is in the bridge already!\n");
+                       NL_SET_ERR_MSG_MOD(extack,
+                                          "Interface from a different DPSW is in the bridge already");
                        return -EINVAL;
                }
        }
@@ -2067,7 +2068,9 @@ static int dpaa2_switch_port_netdevice_event(struct notifier_block *nb,
                upper_dev = info->upper_dev;
                if (netif_is_bridge_master(upper_dev)) {
                        if (info->linking)
-                               err = dpaa2_switch_port_bridge_join(netdev, upper_dev);
+                               err = dpaa2_switch_port_bridge_join(netdev,
+                                                                   upper_dev,
+                                                                   extack);
                        else
                                err = dpaa2_switch_port_bridge_leave(netdev);
                }