summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYeshwanth Sriram Guntuka <ysriramg@codeaurora.org>2018-02-19 12:23:32 +0530
committernshrivas <nshrivas@codeaurora.org>2018-03-07 04:44:04 -0800
commitc8d8090d28ed0439f5dbbdb6d4e6938e2c9940b4 (patch)
tree98b396b1dcdb8085ee38aa52ed9066d59eb3d55a
parent605e17b36580540ab02422216d5677be27d4b8b6 (diff)
qcacld-3.0: Set bcast probe req flag for invalid bssid and ssid
On receiving BTM request from AP, scan is triggered with wild-card SSID even though bssid is included in the scan request from supplicant. Fix is to not set bcast probe req flag when a valid bssid is present in the scan request. Change-Id: I108ef22b2719904cb7b91c677708cfd19d92673e CRs-Fixed: 2159741
-rw-r--r--core/wma/src/wma_scan_roam.c22
1 files changed, 21 insertions, 1 deletions
diff --git a/core/wma/src/wma_scan_roam.c b/core/wma/src/wma_scan_roam.c
index 2cceb36036e8..cc68509306c3 100644
--- a/core/wma/src/wma_scan_roam.c
+++ b/core/wma/src/wma_scan_roam.c
@@ -170,6 +170,25 @@ static inline int wma_get_burst_duration(int max_ch_time, int miracast_value)
}
/**
+ * wma_valid_bssid_in_scan_req() - Check if scan req has valid bssid
+ * @scan_req: scan request
+ *
+ * Return: true if bssid is valid else false
+ */
+static bool wma_valid_bssid_in_scan_req(tSirScanOffloadReq *scan_req)
+{
+ uint8_t i = 0;
+
+ while (i < QDF_MAC_ADDR_SIZE && scan_req->bssId.bytes[i] == 0xFF)
+ i += 1;
+
+ if (i == QDF_MAC_ADDR_SIZE)
+ return false;
+ else
+ return true;
+}
+
+/**
* wma_get_buf_start_scan_cmd() - Fill start scan command
* @wma_handle: wma handle
* @scan_req: scan request
@@ -312,7 +331,8 @@ QDF_STATUS wma_get_buf_start_scan_cmd(tp_wma_handle wma_handle,
if (!scan_req->p2pScanType) {
WMA_LOGD("Normal Scan request");
cmd->scan_ctrl_flags |= WMI_SCAN_ADD_CCK_RATES;
- if (!scan_req->numSsid)
+ if (!scan_req->numSsid &&
+ !wma_valid_bssid_in_scan_req(scan_req))
cmd->scan_ctrl_flags |= WMI_SCAN_ADD_BCAST_PROBE_REQ;
if (scan_req->scanType == eSIR_PASSIVE_SCAN)
cmd->scan_ctrl_flags |= WMI_SCAN_FLAG_PASSIVE;