32 lines
		
	
	
		
			958 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			958 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
--- a/cardsetting.c
 | 
						|
+++ b/cardsetting.c
 | 
						|
@@ -710,12 +710,27 @@ static int acx1xx_get_station_id(acx_dev
 | 
						|
 	u8 stationID[4 + acx_ie_descs[ACX1xx_IE_DOT11_STATION_ID].len];
 | 
						|
 	const u8 *paddr;
 | 
						|
 	int i, res;
 | 
						|
+	const char *prom_addr;
 | 
						|
+	char *prom_getenv(const char *name);
 | 
						|
 
 | 
						|
 
 | 
						|
 
 | 
						|
 	res = acx_interrogate(adev, &stationID, ACX1xx_IE_DOT11_STATION_ID);
 | 
						|
 	paddr = &stationID[4];
 | 
						|
-	for (i = 0; i < ETH_ALEN; i++) {
 | 
						|
+	prom_addr = NULL;
 | 
						|
+#ifdef CONFIG_VLYNQ
 | 
						|
+	prom_addr = prom_getenv("macwlan");
 | 
						|
+	if (prom_addr == NULL)
 | 
						|
+		prom_addr = prom_getenv("mac_ap");
 | 
						|
+#endif
 | 
						|
+	if (prom_addr)
 | 
						|
+		sscanf(prom_addr, "%hhx:%hhx:%hhx:%hhx:%hhx:%hhx", adev->dev_addr,
 | 
						|
+				adev->dev_addr + 1,
 | 
						|
+				adev->dev_addr + 2,
 | 
						|
+				adev->dev_addr + 3,
 | 
						|
+				adev->dev_addr + 4,
 | 
						|
+				adev->dev_addr + 5);
 | 
						|
+	else for (i = 0; i < ETH_ALEN; i++) {
 | 
						|
 		/* we copy the MAC address (reversed in the card) to
 | 
						|
 		 * the netdevice's MAC address, and on ifup it will be
 | 
						|
 		 * copied into iwadev->dev_addr */
 |