فهرست منبع

acx-mac80211: fetch WLAN MAC address from PROM environment

Patch from Daniel Gimpelevich.

SVN-Revision: 33747
Florian Fainelli 13 سال پیش
والد
کامیت
a5e7d09487
1فایلهای تغییر یافته به همراه31 افزوده شده و 0 حذف شده
  1. 31 0
      package/acx-mac80211/patches/200-initial-macaddr.patch

+ 31 - 0
package/acx-mac80211/patches/200-initial-macaddr.patch

@@ -0,0 +1,31 @@
+--- a/cardsetting.c	2012-07-03 16:21:25.934102662 -0700
++++ b/cardsetting.c	2012-07-03 16:49:26.910438174 -0700
+@@ -710,12 +710,27 @@
+ 	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 */