diff mbox

[OpenWrt-Devel,CC,25/32] ar71xx: compex wpj531 fix setting mac address on ethernet

Message ID 80601b52a998772da83ac0fe4b7d8388bd175698.1456800208.git.mschiffer@universe-factory.net
State Accepted
Headers show

Commit Message

Matthias Schiffer March 1, 2016, 3:06 a.m. UTC
Signed-off-by: Christian Mehlis <christian@m3hlis.de>

Backport of r46282
---
 target/linux/ar71xx/files/arch/mips/ath79/mach-wpj531.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

Comments

Andrew M March 22, 2016, 5:29 p.m. UTC | #1
Do you reckon the same issue is affecting the wpj344?

On Tue, 2016-03-01 at 04:06 +0100, Matthias Schiffer wrote:
> Signed-off-by: Christian Mehlis <christian@m3hlis.de>
> 
> Backport of r46282
> ---
>  target/linux/ar71xx/files/arch/mips/ath79/mach-wpj531.c | 11 +++++--
> ----
>  1 file changed, 5 insertions(+), 6 deletions(-)
> 
> diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-wpj531.c
> b/target/linux/ar71xx/files/arch/mips/ath79/mach-wpj531.c
> index b106917..2cc2fe8 100644
> --- a/target/linux/ar71xx/files/arch/mips/ath79/mach-wpj531.c
> +++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-wpj531.c
> @@ -94,9 +94,8 @@ static struct gpio_keys_button wpj531_gpio_keys[]
> __initdata = {
>  
>  static void __init common_setup(void)
>  {
> -	u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
> -	u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
> -	u8 tmpmac[ETH_ALEN];
> +	u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
> +	u8 *mac = (u8 *) KSEG1ADDR(0x1f02e000);
>  
>  	ath79_register_m25p80(NULL);
>  
> @@ -109,7 +108,7 @@ static void __init common_setup(void)
>  	ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
>  	ath79_eth0_data.speed = SPEED_100;
>  	ath79_eth0_data.phy_mask = BIT(4);
> -	ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
> +	ath79_init_mac(ath79_eth0_data.mac_addr, mac +
> WPJ531_MAC0_OFFSET, 0);
>  	ath79_register_eth(0);
>  
>  	/* WAN */
> @@ -118,10 +117,10 @@ static void __init common_setup(void)
>  	ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
>  	ath79_eth1_data.speed = SPEED_1000;
>  	ath79_switch_data.phy_poll_mask |= BIT(4);
> -	ath79_init_mac(ath79_eth1_data.mac_addr, mac, 1);
> +	ath79_init_mac(ath79_eth1_data.mac_addr, mac +
> WPJ531_MAC1_OFFSET, 0);
>  	ath79_register_eth(1);
>  
> -	ath79_register_wmac(ee, tmpmac);
> +	ath79_register_wmac(art + WPJ531_WMAC_CALDATA_OFFSET, NULL);
>  
>  	ath79_register_pci();
>  }
Matthias Schiffer March 23, 2016, 5:56 p.m. UTC | #2
On 03/22/2016 06:29 PM, Andrew | PolkaSpots Support wrote:
> Do you reckon the same issue is affecting the wpj344?

Looking at the code, I believe it does. I don't own either of these devices
though, so I can't test it.

Matthias


> 
> On Tue, 2016-03-01 at 04:06 +0100, Matthias Schiffer wrote:
>> Signed-off-by: Christian Mehlis <christian@m3hlis.de>
>>
>> Backport of r46282
>> ---
>>  target/linux/ar71xx/files/arch/mips/ath79/mach-wpj531.c | 11 +++++--
>> ----
>>  1 file changed, 5 insertions(+), 6 deletions(-)
>>
>> diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-wpj531.c
>> b/target/linux/ar71xx/files/arch/mips/ath79/mach-wpj531.c
>> index b106917..2cc2fe8 100644
>> --- a/target/linux/ar71xx/files/arch/mips/ath79/mach-wpj531.c
>> +++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-wpj531.c
>> @@ -94,9 +94,8 @@ static struct gpio_keys_button wpj531_gpio_keys[]
>> __initdata = {
>>  
>>  static void __init common_setup(void)
>>  {
>> -	u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
>> -	u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
>> -	u8 tmpmac[ETH_ALEN];
>> +	u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
>> +	u8 *mac = (u8 *) KSEG1ADDR(0x1f02e000);
>>  
>>  	ath79_register_m25p80(NULL);
>>  
>> @@ -109,7 +108,7 @@ static void __init common_setup(void)
>>  	ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
>>  	ath79_eth0_data.speed = SPEED_100;
>>  	ath79_eth0_data.phy_mask = BIT(4);
>> -	ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
>> +	ath79_init_mac(ath79_eth0_data.mac_addr, mac +
>> WPJ531_MAC0_OFFSET, 0);
>>  	ath79_register_eth(0);
>>  
>>  	/* WAN */
>> @@ -118,10 +117,10 @@ static void __init common_setup(void)
>>  	ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
>>  	ath79_eth1_data.speed = SPEED_1000;
>>  	ath79_switch_data.phy_poll_mask |= BIT(4);
>> -	ath79_init_mac(ath79_eth1_data.mac_addr, mac, 1);
>> +	ath79_init_mac(ath79_eth1_data.mac_addr, mac +
>> WPJ531_MAC1_OFFSET, 0);
>>  	ath79_register_eth(1);
>>  
>> -	ath79_register_wmac(ee, tmpmac);
>> +	ath79_register_wmac(art + WPJ531_WMAC_CALDATA_OFFSET, NULL);
>>  
>>  	ath79_register_pci();
>>  }
diff mbox

Patch

diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-wpj531.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-wpj531.c
index b106917..2cc2fe8 100644
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-wpj531.c
+++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-wpj531.c
@@ -94,9 +94,8 @@  static struct gpio_keys_button wpj531_gpio_keys[] __initdata = {
 
 static void __init common_setup(void)
 {
-	u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
-	u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
-	u8 tmpmac[ETH_ALEN];
+	u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
+	u8 *mac = (u8 *) KSEG1ADDR(0x1f02e000);
 
 	ath79_register_m25p80(NULL);
 
@@ -109,7 +108,7 @@  static void __init common_setup(void)
 	ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
 	ath79_eth0_data.speed = SPEED_100;
 	ath79_eth0_data.phy_mask = BIT(4);
-	ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
+	ath79_init_mac(ath79_eth0_data.mac_addr, mac + WPJ531_MAC0_OFFSET, 0);
 	ath79_register_eth(0);
 
 	/* WAN */
@@ -118,10 +117,10 @@  static void __init common_setup(void)
 	ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
 	ath79_eth1_data.speed = SPEED_1000;
 	ath79_switch_data.phy_poll_mask |= BIT(4);
-	ath79_init_mac(ath79_eth1_data.mac_addr, mac, 1);
+	ath79_init_mac(ath79_eth1_data.mac_addr, mac + WPJ531_MAC1_OFFSET, 0);
 	ath79_register_eth(1);
 
-	ath79_register_wmac(ee, tmpmac);
+	ath79_register_wmac(art + WPJ531_WMAC_CALDATA_OFFSET, NULL);
 
 	ath79_register_pci();
 }