mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-27 13:05:10 +07:00
ee755324a3
This patch fix an issue that happen when changing the MAC address when the port is down, described as follows: 1. Set the port down. 2. Change the MAC address - mlx4_en_set_mac() will change dev->dev_addr. 3. Set the port up - will result in mlx4_en_do_uc_filter that will remove the prev_mac entry from the mac_hash db. 4. Changing the MAC address again will eventually trigger the call to mlx4_en_replace_mac() in order to replace prev_mac with dev_addr but the prev_mac entry is already not exist in the mac_hash db therefore the operation fails. The fix is to set the prev_mac with the new MAC address so in step 3 above, after setting the port up mlx4_en_get_qp() is updating the mac_hash with the entry of dev_addr which is equal to prev_mac. Therefore in step 4, when calling mlx4_en_replace_mac, the entry related to prev_mac exist in mac_hash and the replace operation succeed. Reviewed-by: Eyal Perry <eyalpe@mellanox.com> Signed-off-by: Shani Michaeli <shanim@mellanox.com> Signed-off-by: Amir Vadai <amirv@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net> |
||
---|---|---|
.. | ||
alloc.c | ||
catas.c | ||
cmd.c | ||
cq.c | ||
en_clock.c | ||
en_cq.c | ||
en_dcb_nl.c | ||
en_ethtool.c | ||
en_main.c | ||
en_netdev.c | ||
en_port.c | ||
en_port.h | ||
en_resources.c | ||
en_rx.c | ||
en_selftest.c | ||
en_tx.c | ||
eq.c | ||
fw.c | ||
fw.h | ||
icm.c | ||
icm.h | ||
intf.c | ||
Kconfig | ||
main.c | ||
Makefile | ||
mcg.c | ||
mlx4_en.h | ||
mlx4.h | ||
mr.c | ||
pd.c | ||
port.c | ||
profile.c | ||
qp.c | ||
reset.c | ||
resource_tracker.c | ||
sense.c | ||
srq.c |