linux-mips
[Top] [All Lists]

[PATCH] MIPS: BCM63XX: generate WLAN MAC address after registering ether

To: ralf@linux-mips.org
Subject: [PATCH] MIPS: BCM63XX: generate WLAN MAC address after registering ethernet devices.
From: Florian Fainelli <florian@openwrt.org>
Date: Wed, 16 Nov 2011 21:49:58 +0100
Cc: linux-mips@linux-mips.org, Florian Fainelli <florian@openwrt.org>
Sender: linux-mips-bounce@linux-mips.org
In case the MAC address pool is not big enough to also register a WLAN device
prefer registering the Ethernet devices.

Signed-off-by: Florian Fainelli <florian@openwrt.org>
---
 arch/mips/bcm63xx/boards/board_bcm963xx.c |   25 +++++++++++++------------
 1 files changed, 13 insertions(+), 12 deletions(-)

diff --git a/arch/mips/bcm63xx/boards/board_bcm963xx.c 
b/arch/mips/bcm63xx/boards/board_bcm963xx.c
index ac948c2..fcd5a8c 100644
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -791,18 +791,6 @@ void __init board_prom_init(void)
        }
 
        bcm_gpio_writel(val, GPIO_MODE_REG);
-
-       /* Generate MAC address for WLAN and
-        * register our SPROM */
-#ifdef CONFIG_SSB_PCIHOST
-       if (!board_get_mac_address(bcm63xx_sprom.il0mac)) {
-               memcpy(bcm63xx_sprom.et0mac, bcm63xx_sprom.il0mac, ETH_ALEN);
-               memcpy(bcm63xx_sprom.et1mac, bcm63xx_sprom.il0mac, ETH_ALEN);
-               if (ssb_arch_register_fallback_sprom(
-                               &bcm63xx_get_fallback_sprom) < 0)
-                       printk(KERN_ERR PFX "failed to register fallback 
SPROM\n");
-       }
-#endif
 }
 
 /*
@@ -886,6 +874,19 @@ int __init board_register_devices(void)
        if (board.has_dsp)
                bcm63xx_dsp_register(&board.dsp);
 
+       /* Generate MAC address for WLAN and register our SPROM,
+        * do this after registering enet devices
+        */
+#ifdef CONFIG_SSB_PCIHOST
+       if (!board_get_mac_address(bcm63xx_sprom.il0mac)) {
+               memcpy(bcm63xx_sprom.et0mac, bcm63xx_sprom.il0mac, ETH_ALEN);
+               memcpy(bcm63xx_sprom.et1mac, bcm63xx_sprom.il0mac, ETH_ALEN);
+               if (ssb_arch_register_fallback_sprom(
+                       &bcm63xx_get_fallback_sprom) < 0)
+                       pr_err(PFX "failed to register fallback SPROM\n");
+       }
+#endif
+
        /* read base address of boot chip select (0) */
        val = bcm_mpi_readl(MPI_CSBASE_REG(0));
        val &= MPI_CSBASE_BASE_MASK;
-- 
1.7.5.4


<Prev in Thread] Current Thread [Next in Thread>