aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/chelsio
diff options
context:
space:
mode:
authorJiri Pirko <jpirko@redhat.com>2011-08-16 02:29:00 -0400
committerDavid S. Miller <davem@davemloft.net>2011-08-17 23:21:27 -0400
commit01789349ee52e4a3faf376f1485303d9723c4f1f (patch)
treecea58b51337ffda221f67d47dd234e52f76f65cf /drivers/net/ethernet/chelsio
parentd03462b999307ec5c186851ec9c5751bd5a675f7 (diff)
net: introduce IFF_UNICAST_FLT private flag
Use IFF_UNICAST_FTL to find out if driver handles unicast address filtering. In case it does not, promisc mode is entered. Patch also fixes following drivers: stmmac, niu: support uc filtering and yet it propagated ndo_set_multicast_list bna, benet, pxa168_eth, ks8851, ks8851_mll, ksz884x : has set ndo_set_rx_mode but do not support uc filtering Signed-off-by: Jiri Pirko <jpirko@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/chelsio')
-rw-r--r--drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c3
-rw-r--r--drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c2
2 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
index c9957b7f17b5..90b4921cac9b 100644
--- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
+++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
@@ -41,6 +41,7 @@
41#include <linux/err.h> 41#include <linux/err.h>
42#include <linux/etherdevice.h> 42#include <linux/etherdevice.h>
43#include <linux/firmware.h> 43#include <linux/firmware.h>
44#include <linux/if.h>
44#include <linux/if_vlan.h> 45#include <linux/if_vlan.h>
45#include <linux/init.h> 46#include <linux/init.h>
46#include <linux/log2.h> 47#include <linux/log2.h>
@@ -3639,6 +3640,8 @@ static int __devinit init_one(struct pci_dev *pdev,
3639 netdev->features |= netdev->hw_features | highdma; 3640 netdev->features |= netdev->hw_features | highdma;
3640 netdev->vlan_features = netdev->features & VLAN_FEAT; 3641 netdev->vlan_features = netdev->features & VLAN_FEAT;
3641 3642
3643 netdev->priv_flags |= IFF_UNICAST_FLT;
3644
3642 netdev->netdev_ops = &cxgb4_netdev_ops; 3645 netdev->netdev_ops = &cxgb4_netdev_ops;
3643 SET_ETHTOOL_OPS(netdev, &cxgb_ethtool_ops); 3646 SET_ETHTOOL_OPS(netdev, &cxgb_ethtool_ops);
3644 } 3647 }
diff --git a/drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c b/drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
index ec799139dfe2..da9072bfca8b 100644
--- a/drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
+++ b/drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
@@ -2625,6 +2625,8 @@ static int __devinit cxgb4vf_pci_probe(struct pci_dev *pdev,
2625 if (pci_using_dac) 2625 if (pci_using_dac)
2626 netdev->features |= NETIF_F_HIGHDMA; 2626 netdev->features |= NETIF_F_HIGHDMA;
2627 2627
2628 netdev->priv_flags |= IFF_UNICAST_FLT;
2629
2628 netdev->netdev_ops = &cxgb4vf_netdev_ops; 2630 netdev->netdev_ops = &cxgb4vf_netdev_ops;
2629 SET_ETHTOOL_OPS(netdev, &cxgb4vf_ethtool_ops); 2631 SET_ETHTOOL_OPS(netdev, &cxgb4vf_ethtool_ops);
2630 2632