A zero MAC address was considered a special case while creating a new MAC filter. There is no particular reason for that other than the fact that the union containing it was assumed to be zeroed out. Now, address is pulled out of the union by ice_fltr_mac_address which checks all of the previously assumed zero-address cases and returns an error if they are hit. Reviewed-by: Aleksandr Loktionov Reviewed-by: Michal Swiatkowski Signed-off-by: Jakub Slepecki --- drivers/net/ethernet/intel/ice/ice_switch.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/intel/ice/ice_switch.c b/drivers/net/ethernet/intel/ice/ice_switch.c index 0275e2910c6b..04e5d653efce 100644 --- a/drivers/net/ethernet/intel/ice/ice_switch.c +++ b/drivers/net/ethernet/intel/ice/ice_switch.c @@ -3648,7 +3648,7 @@ int ice_add_mac(struct ice_hw *hw, struct list_head *m_list) u16 hw_vsi_id; err = ice_fltr_mac_address(addr, &m_list_itr->fltr_info); - if (err || is_zero_ether_addr(addr)) + if (err) return -EINVAL; m_list_itr->fltr_info.flag = ICE_FLTR_TX; vsi_handle = m_list_itr->fltr_info.vsi_handle; -- 2.43.0