diff options
Diffstat (limited to 'drivers/net/ucc_geth.c')
-rw-r--r-- | drivers/net/ucc_geth.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/net/ucc_geth.c b/drivers/net/ucc_geth.c index db0370affb6b..31c97a6591a4 100644 --- a/drivers/net/ucc_geth.c +++ b/drivers/net/ucc_geth.c | |||
@@ -4072,6 +4072,7 @@ static int ucc_geth_probe(struct of_device* ofdev, const struct of_device_id *ma | |||
4072 | static int mii_mng_configured = 0; | 4072 | static int mii_mng_configured = 0; |
4073 | const phandle *ph; | 4073 | const phandle *ph; |
4074 | const unsigned int *prop; | 4074 | const unsigned int *prop; |
4075 | const void *mac_addr; | ||
4075 | 4076 | ||
4076 | ugeth_vdbg("%s: IN", __FUNCTION__); | 4077 | ugeth_vdbg("%s: IN", __FUNCTION__); |
4077 | 4078 | ||
@@ -4197,7 +4198,12 @@ static int ucc_geth_probe(struct of_device* ofdev, const struct of_device_id *ma | |||
4197 | 4198 | ||
4198 | ugeth->ug_info = ug_info; | 4199 | ugeth->ug_info = ug_info; |
4199 | ugeth->dev = dev; | 4200 | ugeth->dev = dev; |
4200 | memcpy(dev->dev_addr, get_property(np, "mac-address", NULL), 6); | 4201 | |
4202 | mac_addr = get_property(np, "mac-address", NULL); | ||
4203 | if (mac_addr == NULL) | ||
4204 | mac_addr = get_property(np, "local-mac-address", NULL); | ||
4205 | if (mac_addr) | ||
4206 | memcpy(dev->dev_addr, mac_addr, 6); | ||
4201 | 4207 | ||
4202 | return 0; | 4208 | return 0; |
4203 | } | 4209 | } |