On 22/02/16 14:39, Aaro Koskinen wrote: > Don't fill MAC address if it's already set. This allows DTB to > override the bootinfo. > > Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> > --- > arch/mips/cavium-octeon/octeon-platform.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/arch/mips/cavium-octeon/octeon-platform.c b/arch/mips/cavium-octeon/octeon-platform.c > index a7d9f07..c5de792 100644 > --- a/arch/mips/cavium-octeon/octeon-platform.c > +++ b/arch/mips/cavium-octeon/octeon-platform.c > @@ -525,10 +525,19 @@ static void __init octeon_fdt_set_phy(int eth, int phy_addr) > > static void __init octeon_fdt_set_mac_addr(int n, u64 *pmac) > { > + const u8 *old_mac; > + int old_len; > u8 new_mac[6]; > u64 mac = *pmac; > int r; > > + old_mac = fdt_getprop(initial_boot_params, n, "local-mac-address", > + &old_len); > + if (!old_mac || old_len != 6 || old_mac[0] || old_mac[1] || > + old_mac[2] || old_mac[3] || > + old_mac[4] || old_mac[5]) There is nothing that tells you that these are valid MAC addresses though, although unlikely, the FW could be handing you bad addresses, might be better to use is_valid_ether_addr() here? -- Florian