| 1 | --- a/cardsetting.c 2012-07-03 16:21:25.934102662 -0700 |
| 2 | +++ b/cardsetting.c 2012-07-03 16:49:26.910438174 -0700 |
| 3 | @@ -710,12 +710,27 @@ |
| 4 | u8 stationID[4 + acx_ie_descs[ACX1xx_IE_DOT11_STATION_ID].len]; |
| 5 | const u8 *paddr; |
| 6 | int i, res; |
| 7 | + const char *prom_addr; |
| 8 | + char *prom_getenv(const char *name); |
| 9 | |
| 10 | |
| 11 | |
| 12 | res = acx_interrogate(adev, &stationID, ACX1xx_IE_DOT11_STATION_ID); |
| 13 | paddr = &stationID[4]; |
| 14 | - for (i = 0; i < ETH_ALEN; i++) { |
| 15 | + prom_addr = NULL; |
| 16 | +#ifdef CONFIG_VLYNQ |
| 17 | + prom_addr = prom_getenv("macwlan"); |
| 18 | + if (prom_addr == NULL) |
| 19 | + prom_addr = prom_getenv("mac_ap"); |
| 20 | +#endif |
| 21 | + if (prom_addr) |
| 22 | + sscanf(prom_addr, "%hhx:%hhx:%hhx:%hhx:%hhx:%hhx", adev->dev_addr, |
| 23 | + adev->dev_addr + 1, |
| 24 | + adev->dev_addr + 2, |
| 25 | + adev->dev_addr + 3, |
| 26 | + adev->dev_addr + 4, |
| 27 | + adev->dev_addr + 5); |
| 28 | + else for (i = 0; i < ETH_ALEN; i++) { |
| 29 | /* we copy the MAC address (reversed in the card) to |
| 30 | * the netdevice's MAC address, and on ifup it will be |
| 31 | * copied into iwadev->dev_addr */ |
| 32 | |