Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 40d7412b authored by Aniket Nagarnaik's avatar Aniket Nagarnaik Committed by Kalle Valo
Browse files

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: default avatarAniket Nagarnaik <aniketn@marvell.com>
Signed-off-by: default avatarAmitkumar Karwar <akarwar@marvell.com>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
parent 8358491d
Loading
Loading
Loading
Loading
+6 −0
Original line number Original line Diff line number Diff line
@@ -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 {
	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];
+10 −0
Original line number Original line Diff line number Diff line
@@ -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,
	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) {