32 lines
989 B
Diff
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 */
|