aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/freescale/dpaa
diff options
context:
space:
mode:
authorRadu Bulie <radu-andrei.bulie@nxp.com>2018-02-26 11:24:04 -0600
committerDavid S. Miller <davem@davemloft.net>2018-02-27 11:40:03 -0500
commitc893238e5d9b279be4c73d7fdf0dc8986a6c118f (patch)
tree98f54d7c26d724c725f95927c2459f5870537097 /drivers/net/ethernet/freescale/dpaa
parentdpaa_eth: refactor frag count checking (diff)
downloadlinux-dev-c893238e5d9b279be4c73d7fdf0dc8986a6c118f.tar.xz
linux-dev-c893238e5d9b279be4c73d7fdf0dc8986a6c118f.zip
dpaa_eth: Add allmulti option
This patch adds allmulticast option for memac, dtsec and 10GEC controllers. Signed-off-by: Radu Bulie <radu-andrei.bulie@nxp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/freescale/dpaa')
-rw-r--r--drivers/net/ethernet/freescale/dpaa/dpaa_eth.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c b/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
index 9bd0ff03f389..159dc2df878d 100644
--- a/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
+++ b/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
@@ -454,6 +454,16 @@ static void dpaa_set_rx_mode(struct net_device *net_dev)
err);
}
+ if (!!(net_dev->flags & IFF_ALLMULTI) != priv->mac_dev->allmulti) {
+ priv->mac_dev->allmulti = !priv->mac_dev->allmulti;
+ err = priv->mac_dev->set_allmulti(priv->mac_dev->fman_mac,
+ priv->mac_dev->allmulti);
+ if (err < 0)
+ netif_err(priv, drv, net_dev,
+ "mac_dev->set_allmulti() = %d\n",
+ err);
+ }
+
err = priv->mac_dev->set_multi(net_dev, priv->mac_dev);
if (err < 0)
netif_err(priv, drv, net_dev, "mac_dev->set_multi() = %d\n",