broadcom-wl: support more virtual interfaces
Read the number of virtual interfaces to support from the device capabilities; as some newer devices can support up to 16. Signed-off-by: Nathan Hintz <nlhintz@hotmail.com> SVN-Revision: 38759
This commit is contained in:
		| @@ -391,6 +391,37 @@ static int wlc_wsec_key(wlc_param param, void *null, void *value) | ||||
| 	return wl_bssiovar_set(interface, "wsec_key", vif, &wsec_key, sizeof(wsec_key)); | ||||
| } | ||||
|  | ||||
| static int wlc_cap(wlc_param param, void *data, void *value) | ||||
| { | ||||
| 	char *iov = *((char **) data); | ||||
|  | ||||
| 	if (param & GET) | ||||
| 		return wl_iovar_get(interface, iov, value, BUFSIZE); | ||||
|  | ||||
| 	return -1; | ||||
| } | ||||
|  | ||||
| static int wlc_bssmax(wlc_param param, void *data, void *value) | ||||
| { | ||||
| 	int *val = (int *) value; | ||||
| 	char *iov = *((char **) data); | ||||
| 	int ret = -1; | ||||
|  | ||||
| 	if (param & GET) { | ||||
| 		ret = wl_iovar_get(interface, iov, wlbuf, BUFSIZE); | ||||
| 		if (!ret) { | ||||
| 			if (strstr(wlbuf, "mbss4")) | ||||
| 				*val = 4; | ||||
| 			else if (strstr(wlbuf, "mbss16")) | ||||
| 				*val = 16; | ||||
| 			else | ||||
| 				*val = 1; | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	return ret; | ||||
| } | ||||
|  | ||||
| static inline int cw2ecw(int cw) | ||||
| { | ||||
| 	int i;	 | ||||
| @@ -954,6 +985,20 @@ static const struct wlc_call wlc_calls[] = { | ||||
| 		.handler = wlc_ioctl, | ||||
| 		.desc = "Band (0=auto, 1=5Ghz, 2=2.4GHz)" | ||||
| 	}, | ||||
| 	{ | ||||
| 		.name = "cap", | ||||
| 		.param = STRING|NOARG, | ||||
| 		.handler = wlc_cap, | ||||
| 		.data.str = "cap", | ||||
| 		.desc = "Capabilities" | ||||
| 	}, | ||||
| 	{ | ||||
| 		.name = "bssmax", | ||||
| 		.param = INT|NOARG, | ||||
| 		.handler = wlc_bssmax, | ||||
| 		.data.str = "cap", | ||||
| 		.desc = "Number of VIF's supported" | ||||
| 	}, | ||||
| }; | ||||
| #define wlc_calls_size (sizeof(wlc_calls) / sizeof(struct wlc_call)) | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Hauke Mehrtens
					Hauke Mehrtens