1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-11-05 11:20:39 +02:00
openwrt-xburst/package/acx-mac80211/patches/200-initial-macaddr.patch
florian d95f3227fc [package] acx-mac80211: fetch WLAN MAC address from PROM environment
Patch from Daniel Gimpelevich.

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33747 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-10-13 17:46:54 +00:00

32 lines
989 B
Diff

--- 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 */