From a6a8cb6a554d0a99d05d7c7c69e0766895ce7ce8 Mon Sep 17 00:00:00 2001 From: Gabor Juhos Date: Wed, 12 Dec 2007 08:43:41 +0000 Subject: fix mac address setup on RouterBOARDs SVN-Revision: 9713 --- .../linux/adm5120/files/arch/mips/adm5120/boards/mikrotik.c | 12 +++++++----- .../linux/adm5120/files/arch/mips/adm5120/prom/routerboot.c | 12 ++---------- 2 files changed, 9 insertions(+), 15 deletions(-) (limited to 'target/linux/adm5120/files/arch') diff --git a/target/linux/adm5120/files/arch/mips/adm5120/boards/mikrotik.c b/target/linux/adm5120/files/arch/mips/adm5120/boards/mikrotik.c index 3d2facf..744c82f 100644 --- a/target/linux/adm5120/files/arch/mips/adm5120/boards/mikrotik.c +++ b/target/linux/adm5120/files/arch/mips/adm5120/boards/mikrotik.c @@ -64,8 +64,6 @@ #define RB153_GPIO_CF_RDY ADM5120_GPIO_P1L1 #define RB153_GPIO_CF_WT ADM5120_GPIO_P0L0 -extern struct rb_hard_settings rb_hs; - /*--------------------------------------------------------------------------*/ static struct adm5120_pci_irq rb1xx_pci_irqs[] __initdata = { @@ -219,9 +217,13 @@ static void __init rb1xx_mac_setup(void) { int i, j; - for (i = 0; i < rb_hs.mac_count; i++) { - for (j = 0; j < RB_MAC_SIZE; j++) - adm5120_eth_macs[i][j] = rb_hs.macs[i][j]; + if (!rb_hs.mac_base) + return; + + for (i = 0; i < 6; i++) { + for (j = 0; j < 5; j++) + adm5120_eth_macs[i][j] = rb_hs.mac_base[j]; + adm5120_eth_macs[i][5] = rb_hs.mac_base[5]+i; } } diff --git a/target/linux/adm5120/files/arch/mips/adm5120/prom/routerboot.c b/target/linux/adm5120/files/arch/mips/adm5120/prom/routerboot.c index a93382d..0effe24 100644 --- a/target/linux/adm5120/files/arch/mips/adm5120/prom/routerboot.c +++ b/target/linux/adm5120/files/arch/mips/adm5120/prom/routerboot.c @@ -37,7 +37,6 @@ #include "prom_read.h" struct rb_hard_settings rb_hs; -EXPORT_SYMBOL(rb_hs); static int rb_found; static int __init routerboot_load_hs(u8 *buf, u16 buflen) @@ -86,15 +85,8 @@ static int __init routerboot_load_hs(u8 *buf, u16 buflen) rb_hs.mac_count = prom_read_le32(buf); break; case RB_ID_MAC_ADDRESS_PACK: - rb_hs.mac_count = len/RB_MAC_SIZE; - if (rb_hs.mac_count > RB_MAX_MAC_COUNT) - rb_hs.mac_count = RB_MAX_MAC_COUNT; - mac = buf; - for (i = 0; i < rb_hs.mac_count; i++) { - for (j = 0; j < RB_MAC_SIZE; j++) - rb_hs.macs[i][j] = mac[j]; - mac += RB_MAC_SIZE; - } + if ((len / RB_MAC_SIZE) > 0) + rb_hs.mac_base = buf; break; } -- cgit v1.1