From 9853abe33a8089ba780d6281620da7bf5144fdcf Mon Sep 17 00:00:00 2001 From: nbd Date: Sun, 5 Oct 2014 10:26:10 +0000 Subject: [PATCH] iwinfo: detect HT PHY for broadcom-wl Signed-off-by: Felix Fietkau git-svn-id: svn+ssh://svn.openwrt.org/openwrt/trunk@42760 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- api/broadcom.h | 1 + iwinfo_wl.c | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/api/broadcom.h b/api/broadcom.h index c7aa33e..672083c 100644 --- a/api/broadcom.h +++ b/api/broadcom.h @@ -55,6 +55,7 @@ #define WLC_PHY_TYPE_G 2 #define WLC_PHY_TYPE_N 4 #define WLC_PHY_TYPE_LP 5 +#define WLC_PHY_TYPE_HT 7 #define WLC_BAND_5G 1 #define WLC_BAND_2G 2 diff --git a/iwinfo_wl.c b/iwinfo_wl.c index b626b28..57e4acf 100644 --- a/iwinfo_wl.c +++ b/iwinfo_wl.c @@ -592,6 +592,7 @@ static int wl_get_hwmodelist(const char *ifname, int *buf) if (!wl_ioctl(ifname, WLC_GET_PHYTYPE, &phytype, sizeof(phytype)) && !wl_ioctl(ifname, WLC_GET_BANDLIST, band, sizeof(band))) { + *buf = 0; switch (phytype) { case WLC_PHY_TYPE_A: @@ -600,15 +601,16 @@ static int wl_get_hwmodelist(const char *ifname, int *buf) case WLC_PHY_TYPE_B: *buf = IWINFO_80211_B; break; + case WLC_PHY_TYPE_HT: + case WLC_PHY_TYPE_N: + *buf |= IWINFO_80211_N; case WLC_PHY_TYPE_LP: case WLC_PHY_TYPE_G: - case WLC_PHY_TYPE_N: bands = 0; for (i = 1; i <= band[0]; i++) { bands |= band[i]; } - *buf = 0; if (bands & WLC_BAND_5G) *buf |= IWINFO_80211_A; if (bands & WLC_BAND_2G) @@ -616,8 +618,6 @@ static int wl_get_hwmodelist(const char *ifname, int *buf) *buf |= IWINFO_80211_B; *buf |= IWINFO_80211_G; } - if (phytype == WLC_PHY_TYPE_N) - *buf |= IWINFO_80211_N; break; default: return -1; -- 2.30.2