提交 40d7412b 编写于 作者: A Aniket Nagarnaik 提交者: Kalle Valo

mwifiex: add bss mode TLV to extended scan command

We are setting BSS mode as ANY so that firmware will provide
all types of scan entries.
Signed-off-by: NAniket Nagarnaik <aniketn@marvell.com>
Signed-off-by: NAmitkumar Karwar <akarwar@marvell.com>
Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
上级 8358491d
...@@ -179,6 +179,7 @@ enum MWIFIEX_802_11_PRIVACY_FILTER { ...@@ -179,6 +179,7 @@ enum MWIFIEX_802_11_PRIVACY_FILTER {
#define TLV_TYPE_CHANNEL_STATS (PROPRIETARY_TLV_BASE_ID + 198) #define TLV_TYPE_CHANNEL_STATS (PROPRIETARY_TLV_BASE_ID + 198)
#define TLV_BTCOEX_WL_AGGR_WINSIZE (PROPRIETARY_TLV_BASE_ID + 202) #define TLV_BTCOEX_WL_AGGR_WINSIZE (PROPRIETARY_TLV_BASE_ID + 202)
#define TLV_BTCOEX_WL_SCANTIME (PROPRIETARY_TLV_BASE_ID + 203) #define TLV_BTCOEX_WL_SCANTIME (PROPRIETARY_TLV_BASE_ID + 203)
#define TLV_TYPE_BSS_MODE (PROPRIETARY_TLV_BASE_ID + 206)
#define MWIFIEX_TX_DATA_BUF_SIZE_2K 2048 #define MWIFIEX_TX_DATA_BUF_SIZE_2K 2048
...@@ -1434,6 +1435,11 @@ struct host_cmd_ds_802_11_scan_ext { ...@@ -1434,6 +1435,11 @@ struct host_cmd_ds_802_11_scan_ext {
u8 tlv_buffer[1]; u8 tlv_buffer[1];
} __packed; } __packed;
struct mwifiex_ie_types_bss_mode {
struct mwifiex_ie_types_header header;
u8 bss_mode;
} __packed;
struct mwifiex_ie_types_bss_scan_rsp { struct mwifiex_ie_types_bss_scan_rsp {
struct mwifiex_ie_types_header header; struct mwifiex_ie_types_header header;
u8 bssid[ETH_ALEN]; u8 bssid[ETH_ALEN];
......
...@@ -823,6 +823,7 @@ mwifiex_config_scan(struct mwifiex_private *priv, ...@@ -823,6 +823,7 @@ mwifiex_config_scan(struct mwifiex_private *priv,
int i; int i;
u8 ssid_filter; u8 ssid_filter;
struct mwifiex_ie_types_htcap *ht_cap; struct mwifiex_ie_types_htcap *ht_cap;
struct mwifiex_ie_types_bss_mode *bss_mode;
/* The tlv_buf_len is calculated for each scan command. The TLVs added /* The tlv_buf_len is calculated for each scan command. The TLVs added
in this routine will be preserved since the routine that sends the in this routine will be preserved since the routine that sends the
...@@ -968,6 +969,15 @@ mwifiex_config_scan(struct mwifiex_private *priv, ...@@ -968,6 +969,15 @@ mwifiex_config_scan(struct mwifiex_private *priv,
else else
*max_chan_per_scan = MWIFIEX_DEF_CHANNELS_PER_SCAN_CMD; *max_chan_per_scan = MWIFIEX_DEF_CHANNELS_PER_SCAN_CMD;
if (adapter->ext_scan) {
bss_mode = (struct mwifiex_ie_types_bss_mode *)tlv_pos;
bss_mode->header.type = cpu_to_le16(TLV_TYPE_BSS_MODE);
bss_mode->header.len = cpu_to_le16(sizeof(bss_mode->bss_mode));
bss_mode->bss_mode = scan_cfg_out->bss_mode;
tlv_pos += sizeof(bss_mode->header) +
le16_to_cpu(bss_mode->header.len);
}
/* If the input config or adapter has the number of Probes set, /* If the input config or adapter has the number of Probes set,
add tlv */ add tlv */
if (num_probes) { if (num_probes) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册