openwrt/package/kernel/broadcom-wl/patches/014-fix-band-reporting.patch
Hauke Mehrtens 189edfef1a broadcom-wl: assign first increased mac address to internal wifi core
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
2014-07-07 17:38:54 +00:00

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: