Commit 377de399 authored by Aaro Koskinen's avatar Aaro Koskinen Committed by Ralf Baechle

MIPS: Octeon: device_tree_init: don't fill mac if already set

Don't fill MAC address if it's already set. This allows DTB to
override the bootinfo.
Signed-off-by: default avatarAaro Koskinen <aaro.koskinen@iki.fi>
Acked-by: default avatarDavid Daney <david.daney@cavium.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/12589/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent 43349b9e
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
#include <linux/i2c.h> #include <linux/i2c.h>
#include <linux/usb.h> #include <linux/usb.h>
#include <linux/dma-mapping.h> #include <linux/dma-mapping.h>
#include <linux/etherdevice.h>
#include <linux/module.h> #include <linux/module.h>
#include <linux/mutex.h> #include <linux/mutex.h>
#include <linux/slab.h> #include <linux/slab.h>
...@@ -525,10 +526,17 @@ static void __init octeon_fdt_set_phy(int eth, int phy_addr) ...@@ -525,10 +526,17 @@ static void __init octeon_fdt_set_phy(int eth, int phy_addr)
static void __init octeon_fdt_set_mac_addr(int n, u64 *pmac) static void __init octeon_fdt_set_mac_addr(int n, u64 *pmac)
{ {
const u8 *old_mac;
int old_len;
u8 new_mac[6]; u8 new_mac[6];
u64 mac = *pmac; u64 mac = *pmac;
int r; int r;
old_mac = fdt_getprop(initial_boot_params, n, "local-mac-address",
&old_len);
if (!old_mac || old_len != 6 || is_valid_ether_addr(old_mac))
return;
new_mac[0] = (mac >> 40) & 0xff; new_mac[0] = (mac >> 40) & 0xff;
new_mac[1] = (mac >> 32) & 0xff; new_mac[1] = (mac >> 32) & 0xff;
new_mac[2] = (mac >> 24) & 0xff; new_mac[2] = (mac >> 24) & 0xff;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment