Re: [PATCH 2/3] MIPS: OCTEON: device_tree_init: don't fill mac if already set

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux