diff options
author | Alexander Duyck <alexander.h.duyck@intel.com> | 2014-05-28 18:44:52 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-06-02 10:40:54 -0700 |
commit | f009618ac57cd3feeb4622147e8d2e88e47b9c1c (patch) | |
tree | 4d2d007d8db76503f01665c2fe5ad5e9d3e6e492 /drivers/net/ethernet/cisco/enic/enic_dev.c | |
parent | 670e5b8eaf85704742bc3cb1df51fdd3ce08fc15 (diff) | |
download | op-kernel-dev-f009618ac57cd3feeb4622147e8d2e88e47b9c1c.zip op-kernel-dev-f009618ac57cd3feeb4622147e8d2e88e47b9c1c.tar.gz |
enic: Update driver to use __dev_uc/mc_sync/unsync calls
This change updates the enic driver to make use of __dev_uc_sync and
__dev_mc_sync calls. Previously the driver was doing its own list
management by storing the mc_addr and uc_addr list in a 32 address array.
With this change the sync data is stored in the netdev_addr_list structures
and instead we just track how many addresses we have written to the device.
When we encounter 32 we stop and print a message as occurred previously with
the old approach.
Other than the core change the only other bit needed was to propagate the
constant attribute with the MAC address as there were several spots where
is twas only passed as a u8 * instead of a const u8 *.
This patch is meant to maintain the original functionality without the use
of the mc_addr and uc_addr arrays.
Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Acked-by: Govindarajulu Varadarajan <_govind@gmx.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/cisco/enic/enic_dev.c')
-rw-r--r-- | drivers/net/ethernet/cisco/enic/enic_dev.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/ethernet/cisco/enic/enic_dev.c b/drivers/net/ethernet/cisco/enic/enic_dev.c index 4b6e569..3e27df5 100644 --- a/drivers/net/ethernet/cisco/enic/enic_dev.c +++ b/drivers/net/ethernet/cisco/enic/enic_dev.c @@ -88,7 +88,7 @@ int enic_dev_packet_filter(struct enic *enic, int directed, int multicast, return err; } -int enic_dev_add_addr(struct enic *enic, u8 *addr) +int enic_dev_add_addr(struct enic *enic, const u8 *addr) { int err; @@ -99,7 +99,7 @@ int enic_dev_add_addr(struct enic *enic, u8 *addr) return err; } -int enic_dev_del_addr(struct enic *enic, u8 *addr) +int enic_dev_del_addr(struct enic *enic, const u8 *addr) { int err; |