staging: fsl-dpaa2/ethsw: Fix setting port learning/flooding flags
authorRazvan Stefanescu <razvan.stefanescu@nxp.com>
Fri, 5 Jul 2019 14:27:11 +0000 (17:27 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 22 Jul 2019 05:34:12 +0000 (07:34 +0200)
ethsw_set_learning()/ethsw_set_flood() use flags parameter as an
enable/disable (1/0) indicator. Previous usage sent incorrect values.

Signed-off-by: Razvan Stefanescu <razvan.stefanescu@nxp.com>
Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com>
Link: https://lore.kernel.org/r/1562336836-17119-2-git-send-email-ioana.ciornei@nxp.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/fsl-dpaa2/ethsw/ethsw.c

index f73edaf..8747007 100644 (file)
@@ -673,11 +673,12 @@ static int port_attr_br_flags_set(struct net_device *netdev,
                return 0;
 
        /* Learning is enabled per switch */
-       err = ethsw_set_learning(port_priv->ethsw_data, flags & BR_LEARNING);
+       err = ethsw_set_learning(port_priv->ethsw_data,
+                                !!(flags & BR_LEARNING));
        if (err)
                goto exit;
 
-       err = ethsw_port_set_flood(port_priv, flags & BR_FLOOD);
+       err = ethsw_port_set_flood(port_priv, !!(flags & BR_FLOOD));
 
 exit:
        return err;