summaryrefslogtreecommitdiff
path: root/arch/powerpc/boot/devtree.c
diff options
context:
space:
mode:
authorScott Wood <scottwood@freescale.com>2007-09-06 05:21:18 +1000
committerPaul Mackerras <paulus@samba.org>2007-09-14 01:33:23 +1000
commit96ebc3bfb6ddedd5a400d5653b50551d5a3de439 (patch)
treee3eb5c8859eb1f9e1d5ea4f4a25f1fe6b4477d46 /arch/powerpc/boot/devtree.c
parent21f3fe2f7ab57832ea1fc7f719ec7e167b7ad80e (diff)
[POWERPC] bootwrapper: Only print MAC addresses when the node is actually present
Some firmwares (such as PlanetCore) only provide a base MAC address, and expect the kernel to set certain bits to generate the addresses for the other ports. As such, MAC addresses are generated that may not correspond to actual hardware. Signed-off-by: Scott Wood <scottwood@freescale.com> Acked-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/boot/devtree.c')
-rw-r--r--arch/powerpc/boot/devtree.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/arch/powerpc/boot/devtree.c b/arch/powerpc/boot/devtree.c
index e1b8122b4393..549463bf5eec 100644
--- a/arch/powerpc/boot/devtree.c
+++ b/arch/powerpc/boot/devtree.c
@@ -100,12 +100,14 @@ void __dt_fixup_mac_addresses(u32 startindex, ...)
devp = find_node_by_prop_value(NULL, "linux,network-index",
(void*)&index, sizeof(index));
- printf("ENET%d: local-mac-address <-"
- " %02x:%02x:%02x:%02x:%02x:%02x\n\r", index,
- addr[0], addr[1], addr[2], addr[3], addr[4], addr[5]);
+ if (devp) {
+ printf("ENET%d: local-mac-address <-"
+ " %02x:%02x:%02x:%02x:%02x:%02x\n\r", index,
+ addr[0], addr[1], addr[2],
+ addr[3], addr[4], addr[5]);
- if (devp)
setprop(devp, "local-mac-address", addr, 6);
+ }
index++;
}