aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2007-02-17 22:22:14 +0000
committerFelix Fietkau <nbd@openwrt.org>2007-02-17 22:22:14 +0000
commit12a23811ec69d30cc11cc05b660bceaf413885f7 (patch)
tree8777fcd30892e44e4ccfafd489074bd5a7e745ae
parentcb2af97adf03258e0ed8021b1e9f8d3c18634053 (diff)
downloadupstream-12a23811ec69d30cc11cc05b660bceaf413885f7.tar.gz
upstream-12a23811ec69d30cc11cc05b660bceaf413885f7.tar.bz2
upstream-12a23811ec69d30cc11cc05b660bceaf413885f7.zip
fix ar2312/2313 mac detection
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@6316 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--target/linux/atheros-2.6/files/arch/mips/atheros/ar5312.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/target/linux/atheros-2.6/files/arch/mips/atheros/ar5312.c b/target/linux/atheros-2.6/files/arch/mips/atheros/ar5312.c
index d337098d5c..11f21fe5c0 100644
--- a/target/linux/atheros-2.6/files/arch/mips/atheros/ar5312.c
+++ b/target/linux/atheros-2.6/files/arch/mips/atheros/ar5312.c
@@ -255,8 +255,9 @@ int __init ar5312_init_devices(void)
ar5312_eth1_data.board_config = board_config;
ar5312_devs[dev++] = &ar5312_physmap_flash;
- ar5312_eth0_data.macaddr = bcfg->enet0Mac;
- ar5312_eth1_data.macaddr = bcfg->enet1Mac;
+ if (!memcmp(bcfg->enet0Mac, "\xff\xff\xff\xff\xff\xff", 6))
+ memcpy(bcfg->enet0Mac, bcfg->enet1Mac, 6);
+
if (memcmp(bcfg->enet0Mac, bcfg->enet1Mac, 6) == 0) {
/* ENET0 and ENET1 have the same mac.
* Increment the one from ENET1 */
@@ -267,11 +268,14 @@ int __init ar5312_init_devices(void)
switch(mips_machtype) {
case MACH_ATHEROS_AR5312:
+ ar5312_eth0_data.macaddr = bcfg->enet0Mac;
+ ar5312_eth1_data.macaddr = bcfg->enet1Mac;
ar5312_devs[dev++] = &ar5312_eth[0];
ar5312_devs[dev++] = &ar5312_eth[1];
break;
case MACH_ATHEROS_AR2312:
case MACH_ATHEROS_AR2313:
+ ar231x_eth0_data.macaddr = bcfg->enet0Mac;
ar5312_devs[dev++] = &ar231x_eth0;
ar5312_flash_data.width = 1;
break;