diff options
-rw-r--r-- | target/linux/ar71xx/files/arch/mips/ath79/mach-rb750.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-rb750.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-rb750.c index 22d1680519..5656d3c1f1 100644 --- a/target/linux/ar71xx/files/arch/mips/ath79/mach-rb750.c +++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-rb750.c @@ -282,7 +282,6 @@ MIPS_MACHINE(ATH79_MACH_RB_750G_R3, "750Gr3", "MikroTik RouterBOARD 750GL", #define RB751_HARDCONFIG 0x1f00b000 #define RB751_HARDCONFIG_SIZE 0x1000 -#define RB751_MAC_ADDRESS_OFFSET 0xE80 static void __init rb751_wlan_setup(void) { @@ -290,6 +289,8 @@ static void __init rb751_wlan_setup(void) struct ath9k_platform_data *wmac_data; u16 tag_len; u8 *tag; + u16 mac_len; + u8 *mac; int err; wmac_data = ap9x_pci_get_wmac_data(0); @@ -314,7 +315,14 @@ static void __init rb751_wlan_setup(void) return; } - ap91_pci_init(NULL, hardconfig + RB751_MAC_ADDRESS_OFFSET); + err = routerboot_find_tag(hardconfig, RB751_HARDCONFIG_SIZE, + RB_ID_MAC_ADDRESS_PACK, &mac, &mac_len); + if (err) { + pr_err("rb75x: no mac address found\n"); + return; + } + + ap91_pci_init(NULL, mac); } static void __init rb751_setup(void) |