mirror of
https://github.com/torvalds/linux
synced 2024-11-05 18:23:50 +00:00
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: Aaro Koskinen <aaro.koskinen@iki.fi> Acked-by: David Daney <david.daney@cavium.com> Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/12589/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
parent
43349b9e4b
commit
377de399a1
1 changed files with 8 additions and 0 deletions
|
@ -13,6 +13,7 @@
|
|||
#include <linux/i2c.h>
|
||||
#include <linux/usb.h>
|
||||
#include <linux/dma-mapping.h>
|
||||
#include <linux/etherdevice.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/slab.h>
|
||||
|
@ -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)
|
||||
{
|
||||
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 || is_valid_ether_addr(old_mac))
|
||||
return;
|
||||
|
||||
new_mac[0] = (mac >> 40) & 0xff;
|
||||
new_mac[1] = (mac >> 32) & 0xff;
|
||||
new_mac[2] = (mac >> 24) & 0xff;
|
||||
|
|
Loading…
Reference in a new issue