|
@@ -444,6 +444,28 @@ mwifiex_uap_bss_wep(u8 **tlv_buf, void *cmd_buf, u16 *param_size)
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+/* This function enable 11D if userspace set the country IE.
|
|
|
|
+ */
|
|
|
|
+void mwifiex_config_uap_11d(struct mwifiex_private *priv,
|
|
|
|
+ struct cfg80211_beacon_data *beacon_data)
|
|
|
|
+{
|
|
|
|
+ enum state_11d_t state_11d;
|
|
|
|
+ const u8 *country_ie;
|
|
|
|
+
|
|
|
|
+ country_ie = cfg80211_find_ie(WLAN_EID_COUNTRY, beacon_data->tail,
|
|
|
|
+ beacon_data->tail_len);
|
|
|
|
+ if (country_ie) {
|
|
|
|
+ /* Send cmd to FW to enable 11D function */
|
|
|
|
+ state_11d = ENABLE_11D;
|
|
|
|
+ if (mwifiex_send_cmd(priv, HostCmd_CMD_802_11_SNMP_MIB,
|
|
|
|
+ HostCmd_ACT_GEN_SET, DOT11D_I,
|
|
|
|
+ &state_11d, true)) {
|
|
|
|
+ mwifiex_dbg(priv->adapter, ERROR,
|
|
|
|
+ "11D: failed to enable 11D\n");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
/* This function parses BSS related parameters from structure
|
|
/* This function parses BSS related parameters from structure
|
|
* and prepares TLVs. These TLVs are appended to command buffer.
|
|
* and prepares TLVs. These TLVs are appended to command buffer.
|
|
*/
|
|
*/
|
|
@@ -848,8 +870,6 @@ void mwifiex_uap_set_channel(struct mwifiex_private *priv,
|
|
int mwifiex_config_start_uap(struct mwifiex_private *priv,
|
|
int mwifiex_config_start_uap(struct mwifiex_private *priv,
|
|
struct mwifiex_uap_bss_param *bss_cfg)
|
|
struct mwifiex_uap_bss_param *bss_cfg)
|
|
{
|
|
{
|
|
- enum state_11d_t state_11d;
|
|
|
|
-
|
|
|
|
if (mwifiex_send_cmd(priv, HostCmd_CMD_UAP_SYS_CONFIG,
|
|
if (mwifiex_send_cmd(priv, HostCmd_CMD_UAP_SYS_CONFIG,
|
|
HostCmd_ACT_GEN_SET,
|
|
HostCmd_ACT_GEN_SET,
|
|
UAP_BSS_PARAMS_I, bss_cfg, true)) {
|
|
UAP_BSS_PARAMS_I, bss_cfg, true)) {
|
|
@@ -858,16 +878,6 @@ int mwifiex_config_start_uap(struct mwifiex_private *priv,
|
|
return -1;
|
|
return -1;
|
|
}
|
|
}
|
|
|
|
|
|
- /* Send cmd to FW to enable 11D function */
|
|
|
|
- state_11d = ENABLE_11D;
|
|
|
|
- if (mwifiex_send_cmd(priv, HostCmd_CMD_802_11_SNMP_MIB,
|
|
|
|
- HostCmd_ACT_GEN_SET, DOT11D_I,
|
|
|
|
- &state_11d, true)) {
|
|
|
|
- mwifiex_dbg(priv->adapter, ERROR,
|
|
|
|
- "11D: failed to enable 11D\n");
|
|
|
|
- return -1;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
if (mwifiex_send_cmd(priv, HostCmd_CMD_UAP_BSS_START,
|
|
if (mwifiex_send_cmd(priv, HostCmd_CMD_UAP_BSS_START,
|
|
HostCmd_ACT_GEN_SET, 0, NULL, true)) {
|
|
HostCmd_ACT_GEN_SET, 0, NULL, true)) {
|
|
mwifiex_dbg(priv->adapter, ERROR,
|
|
mwifiex_dbg(priv->adapter, ERROR,
|