|
|
@@ -877,7 +877,7 @@ static int __fm10k_uc_sync(struct net_device *dev,
|
|
|
return -EADDRNOTAVAIL;
|
|
|
|
|
|
/* update table with current entries */
|
|
|
- for (vid = hw->mac.default_vid ? fm10k_find_next_vlan(interface, 0) : 0;
|
|
|
+ for (vid = hw->mac.default_vid ? fm10k_find_next_vlan(interface, 0) : 1;
|
|
|
vid < VLAN_N_VID;
|
|
|
vid = fm10k_find_next_vlan(interface, vid)) {
|
|
|
err = hw->mac.ops.update_uc_addr(hw, glort, addr,
|
|
|
@@ -940,7 +940,7 @@ static int __fm10k_mc_sync(struct net_device *dev,
|
|
|
u16 vid, glort = interface->glort;
|
|
|
|
|
|
/* update table with current entries */
|
|
|
- for (vid = hw->mac.default_vid ? fm10k_find_next_vlan(interface, 0) : 0;
|
|
|
+ for (vid = hw->mac.default_vid ? fm10k_find_next_vlan(interface, 0) : 1;
|
|
|
vid < VLAN_N_VID;
|
|
|
vid = fm10k_find_next_vlan(interface, vid)) {
|
|
|
hw->mac.ops.update_mc_addr(hw, glort, addr, vid, sync);
|
|
|
@@ -995,11 +995,8 @@ static void fm10k_set_rx_mode(struct net_device *dev)
|
|
|
}
|
|
|
|
|
|
/* synchronize all of the addresses */
|
|
|
- if (xcast_mode != FM10K_XCAST_MODE_PROMISC) {
|
|
|
- __dev_uc_sync(dev, fm10k_uc_sync, fm10k_uc_unsync);
|
|
|
- if (xcast_mode != FM10K_XCAST_MODE_ALLMULTI)
|
|
|
- __dev_mc_sync(dev, fm10k_mc_sync, fm10k_mc_unsync);
|
|
|
- }
|
|
|
+ __dev_uc_sync(dev, fm10k_uc_sync, fm10k_uc_unsync);
|
|
|
+ __dev_mc_sync(dev, fm10k_mc_sync, fm10k_mc_unsync);
|
|
|
|
|
|
fm10k_mbx_unlock(interface);
|
|
|
}
|
|
|
@@ -1037,7 +1034,7 @@ void fm10k_restore_rx_state(struct fm10k_intfc *interface)
|
|
|
hw->mac.ops.update_vlan(hw, 0, 0, true);
|
|
|
|
|
|
/* update table with current entries */
|
|
|
- for (vid = hw->mac.default_vid ? fm10k_find_next_vlan(interface, 0) : 0;
|
|
|
+ for (vid = hw->mac.default_vid ? fm10k_find_next_vlan(interface, 0) : 1;
|
|
|
vid < VLAN_N_VID;
|
|
|
vid = fm10k_find_next_vlan(interface, vid)) {
|
|
|
hw->mac.ops.update_vlan(hw, vid, 0, true);
|
|
|
@@ -1049,11 +1046,8 @@ void fm10k_restore_rx_state(struct fm10k_intfc *interface)
|
|
|
hw->mac.ops.update_xcast_mode(hw, glort, xcast_mode);
|
|
|
|
|
|
/* synchronize all of the addresses */
|
|
|
- if (xcast_mode != FM10K_XCAST_MODE_PROMISC) {
|
|
|
- __dev_uc_sync(netdev, fm10k_uc_sync, fm10k_uc_unsync);
|
|
|
- if (xcast_mode != FM10K_XCAST_MODE_ALLMULTI)
|
|
|
- __dev_mc_sync(netdev, fm10k_mc_sync, fm10k_mc_unsync);
|
|
|
- }
|
|
|
+ __dev_uc_sync(netdev, fm10k_uc_sync, fm10k_uc_unsync);
|
|
|
+ __dev_mc_sync(netdev, fm10k_mc_sync, fm10k_mc_unsync);
|
|
|
|
|
|
fm10k_mbx_unlock(interface);
|
|
|
|