]> git.baikalelectronics.ru Git - kernel.git/commit
net: atlantic: unify MAC generation
authorMark Starovoytov <mstarovoitov@marvell.com>
Sat, 9 May 2020 06:47:00 +0000 (09:47 +0300)
committerJakub Kicinski <kuba@kernel.org>
Sat, 9 May 2020 18:47:25 +0000 (11:47 -0700)
commit0cdbc3f8eacc15ce3d9d6f544e31170584c0b259
treefa4de5589f90228f431513a5daab93e2798e067d
parentc8e223e038b27aafb209837cba3b592b8c04b7d5
net: atlantic: unify MAC generation

This patch unifies invalid MAC address handling with other drivers.

Basically we've switched to using standard APIs (is_valid_ether_addr /
eth_hw_addr_random) where possible.
It's worth noting that some of engineering Aquantia NICs might be
provisioned with a partially zeroed out MAC, which is still invalid,
but not caught by is_valid_ether_addr(), so we've added a special
handling for this case.

Also adding a warning in case of fallback to random MAC, because
this shouldn't be needed on production NICs, they should all be
provisioned with unique MAC.

NB! Default systemd/udevd configuration is 'MACAddressPolicy=persistent'.
    This causes MAC address to be persisted across driver reloads and
    reboots. We had to change it to 'none' for verification purposes.

Signed-off-by: Mark Starovoytov <mstarovoitov@marvell.com>
Signed-off-by: Igor Russkikh <irusskikh@marvell.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/aquantia/atlantic/aq_nic.c
drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils_fw2x.c
drivers/net/ethernet/aquantia/atlantic/hw_atl2/hw_atl2_utils_fw.c