|
@@ -5034,12 +5034,9 @@ static void efx_ef10_filter_uc_addr_list(struct efx_nic *efx)
|
|
|
struct efx_ef10_filter_table *table = efx->filter_state;
|
|
|
struct net_device *net_dev = efx->net_dev;
|
|
|
struct netdev_hw_addr *uc;
|
|
|
- int addr_count;
|
|
|
unsigned int i;
|
|
|
|
|
|
- addr_count = netdev_uc_count(net_dev);
|
|
|
table->uc_promisc = !!(net_dev->flags & IFF_PROMISC);
|
|
|
- table->dev_uc_count = 1 + addr_count;
|
|
|
ether_addr_copy(table->dev_uc_list[0].addr, net_dev->dev_addr);
|
|
|
i = 1;
|
|
|
netdev_for_each_uc_addr(uc, net_dev) {
|
|
@@ -5050,6 +5047,8 @@ static void efx_ef10_filter_uc_addr_list(struct efx_nic *efx)
|
|
|
ether_addr_copy(table->dev_uc_list[i].addr, uc->addr);
|
|
|
i++;
|
|
|
}
|
|
|
+
|
|
|
+ table->dev_uc_count = i;
|
|
|
}
|
|
|
|
|
|
static void efx_ef10_filter_mc_addr_list(struct efx_nic *efx)
|
|
@@ -5057,12 +5056,11 @@ static void efx_ef10_filter_mc_addr_list(struct efx_nic *efx)
|
|
|
struct efx_ef10_filter_table *table = efx->filter_state;
|
|
|
struct net_device *net_dev = efx->net_dev;
|
|
|
struct netdev_hw_addr *mc;
|
|
|
- unsigned int i, addr_count;
|
|
|
+ unsigned int i;
|
|
|
|
|
|
table->mc_overflow = false;
|
|
|
table->mc_promisc = !!(net_dev->flags & (IFF_PROMISC | IFF_ALLMULTI));
|
|
|
|
|
|
- addr_count = netdev_mc_count(net_dev);
|
|
|
i = 0;
|
|
|
netdev_for_each_mc_addr(mc, net_dev) {
|
|
|
if (i >= EFX_EF10_FILTER_DEV_MC_MAX) {
|