Browse Source

iwinfo: detect HT PHY for broadcom-wl

Signed-off-by: Felix Fietkau <[email protected]>

SVN-Revision: 42760
Felix Fietkau 11 years ago
parent
commit
dac05f6724

+ 1 - 0
package/network/utils/iwinfo/src/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

+ 4 - 4
package/network/utils/iwinfo/src/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;