소스 검색

ar71xx: WNR612v2: fix for random WLAN MAC

Fix for invalid/random WLAN MAC address in WNR612v2. Permanent platform
MAC is calculated and assigned during system startup. WLAN MAC follows
wired Ethernet interface addresses. This is the same fix as for WNR2000v3.

Signed-off-by: Michal Cieslakiewicz <[email protected]>

SVN-Revision: 48779
Felix Fietkau 9 년 전
부모
커밋
5be9e97a82
1개의 변경된 파일7개의 추가작업 그리고 1개의 파일을 삭제
  1. 7 1
      target/linux/ar71xx/files/arch/mips/ath79/mach-wnr2000-v3.c

+ 7 - 1
target/linux/ar71xx/files/arch/mips/ath79/mach-wnr2000-v3.c

@@ -64,6 +64,7 @@
 #define WNR2000V3_KEYS_POLL_INTERVAL	20	/* msecs */
 #define WNR2000V3_KEYS_DEBOUNCE_INTERVAL	(3 * WNR2000V3_KEYS_POLL_INTERVAL)
 
+/* ART offsets for: WNR2000v3, WNR612v2 */
 #define WNR2000V3_MAC0_OFFSET		0
 #define WNR2000V3_MAC1_OFFSET		6
 #define WNR2000V3_PCIE_CALDATA_OFFSET	0x1000
@@ -254,7 +255,12 @@ MIPS_MACHINE(ATH79_MACH_WNR2000_V3, "WNR2000V3", "NETGEAR WNR2000 V3", wnr2000v3
 
 static void __init wnr612v2_setup(void)
 {
-	wnr_common_setup(NULL);
+	u8 wlan_mac_addr[6];
+
+	wnr_get_wmac(wlan_mac_addr, WNR2000V3_MAC0_OFFSET,
+		     WNR2000V3_MAC1_OFFSET, WNR2000V3_WMAC_OFFSET);
+
+	wnr_common_setup(wlan_mac_addr);
 
 	ath79_register_leds_gpio(-1, ARRAY_SIZE(wnr612v2_leds_gpio),
 				 wnr612v2_leds_gpio);