Message ID | 20240320172008.2989693-5-enachman@marvell.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | Fix prestera driver fail to probe twice | expand |
On Wed, Mar 20, 2024 at 07:20:07PM +0200, Elad Nachman wrote: > From: Elad Nachman <enachman@marvell.com> > > The switching ASIC router HW unit MAC Source Address is configured with > 40-bits of MAC base address in its registers (done in the firmware code), > requiring all ports doing L3 routing in HW to have the same upper 40-bit > MAC address. > > Since each switchport MAC address uses the switch base mac address and > then adds the physical port number to it, Force the last byte of the > switch base mac address to be at most 127, so when adding to it, we > will not wrap around the previous (more significant) mac address byte, > resulting in a warning message. > > Fixes: 501ef3066c89 ("net: marvell: prestera: Add driver for Prestera family ASIC devices") > Signed-off-by: Elad Nachman <enachman@marvell.com> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Andrew
diff --git a/drivers/net/ethernet/marvell/prestera/prestera_main.c b/drivers/net/ethernet/marvell/prestera/prestera_main.c index bcaa8ea27b49..87d8fc4162b3 100644 --- a/drivers/net/ethernet/marvell/prestera/prestera_main.c +++ b/drivers/net/ethernet/marvell/prestera/prestera_main.c @@ -860,6 +860,7 @@ static int prestera_switch_set_base_mac_addr(struct prestera_switch *sw) ret = of_get_mac_address(sw->np, sw->base_mac); if (!is_valid_ether_addr(sw->base_mac) || ret) { eth_random_addr(sw->base_mac); + sw->base_mac[5] &= 0x7f; dev_info(prestera_dev(sw), "using random base mac address\n"); }