broadcom-wl: assign first increased mac address to internal wifi core
[openwrt/staging/yousong.git] / package / kernel / broadcom-wl / patches / 014-fix-band-reporting.patch
1 --- a/driver/wl_iw.c
2 +++ b/driver/wl_iw.c
3 @@ -314,7 +314,7 @@ wl_iw_get_name(
4 )
5 {
6 int phytype, err;
7 - uint band[3];
8 + uint i, band[3], bands;
9 char cap[5];
10
11 WL_TRACE(("%s: SIOCGIWNAME\n", dev->name));
12 @@ -335,16 +335,20 @@ wl_iw_get_name(
13 break;
14 case WLC_PHY_TYPE_LP:
15 case WLC_PHY_TYPE_G:
16 - if (band[0] >= 2)
17 - strcpy(cap, "abg");
18 - else
19 - strcpy(cap, "bg");
20 - break;
21 case WLC_PHY_TYPE_N:
22 - if (band[0] >= 2)
23 - strcpy(cap, "abgn");
24 - else
25 - strcpy(cap, "bgn");
26 + bands = 0;
27 + for (i = 1; i <= band[0]; i++) {
28 + bands |= dtoh32(band[i]);
29 + }
30 + strcpy(cap, "");
31 + if (bands & WLC_BAND_5G)
32 + strcat(cap, "a");
33 + if (bands & WLC_BAND_2G)
34 + strcat(cap, "bg");
35 + if (phytype == WLC_PHY_TYPE_N)
36 + strcat(cap, "n");
37 + break;
38 + default:
39 break;
40 }
41 done: