Files
openwrt-kernel5.10-nss-qsdk…/package/kernel/broadcom-wl/patches/014-fix-band-reporting.patch
domenico 0cba744dde
Some checks failed
Build Kernel / Set targets (push) Has been cancelled
Build all core packages / build (malta/be) (push) Has been cancelled
Build all core packages / build (x86/64) (push) Has been cancelled
Build host tools / build-macos-latest (push) Has been cancelled
Build host tools / build-linux-buildbot (push) Has been cancelled
Build Kernel / Build Kernel with external toolchain (push) Has been cancelled
Build Kernel / Check Kernel patches (push) Has been cancelled
Build host tools / push-tools-container (push) Has been cancelled
Initial commit
2025-06-24 13:18:37 +02: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: