mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-27 09:12:39 +00:00
189edfef1a
When the original mac addresses are not valid assign the first one to the internal wifi core, this matches the manufacture mac address in most cases. In addition refresh the patches. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> SVN-Revision: 41545
42 lines
822 B
Diff
42 lines
822 B
Diff
--- a/driver/wl_iw.c
|
|
+++ b/driver/wl_iw.c
|
|
@@ -314,7 +314,7 @@ wl_iw_get_name(
|
|
)
|
|
{
|
|
int phytype, err;
|
|
- uint band[3];
|
|
+ uint i, band[3], bands;
|
|
char cap[5];
|
|
|
|
WL_TRACE(("%s: SIOCGIWNAME\n", dev->name));
|
|
@@ -335,16 +335,20 @@ wl_iw_get_name(
|
|
break;
|
|
case WLC_PHY_TYPE_LP:
|
|
case WLC_PHY_TYPE_G:
|
|
- if (band[0] >= 2)
|
|
- strcpy(cap, "abg");
|
|
- else
|
|
- strcpy(cap, "bg");
|
|
- break;
|
|
case WLC_PHY_TYPE_N:
|
|
- if (band[0] >= 2)
|
|
- strcpy(cap, "abgn");
|
|
- else
|
|
- strcpy(cap, "bgn");
|
|
+ bands = 0;
|
|
+ for (i = 1; i <= band[0]; i++) {
|
|
+ bands |= dtoh32(band[i]);
|
|
+ }
|
|
+ strcpy(cap, "");
|
|
+ if (bands & WLC_BAND_5G)
|
|
+ strcat(cap, "a");
|
|
+ if (bands & WLC_BAND_2G)
|
|
+ strcat(cap, "bg");
|
|
+ if (phytype == WLC_PHY_TYPE_N)
|
|
+ strcat(cap, "n");
|
|
+ break;
|
|
+ default:
|
|
break;
|
|
}
|
|
done:
|