瀏覽代碼

qcacld-3.0: Use BSSID for active scan if provided by supplicant

qcacld-2.0 to qcacld-3.0 propagation.

Presently, supplicant does not send bssid parameter as part of scan
command to driver. Since that support is added, use the bssid received
from scan command for active scan ie add the bssid as part of scan
offload command to firmware so as to send probe request with bssid
set with the one received as part of the scan command.

Git-commit: 5ad6cc46eda9e6d7195c353730a22427b9937283
Change-Id: I97886b1dbd63fbca21fa410252df572f819df207
CRs-Fixed: 1010596
Selvaraj, Sridhar 8 年之前
父節點
當前提交
a9c7243143
共有 1 個文件被更改,包括 25 次插入0 次删除
  1. 25 0
      core/hdd/src/wlan_hdd_scan.c

+ 25 - 0
core/hdd/src/wlan_hdd_scan.c

@@ -1236,6 +1236,29 @@ static void wlan_hdd_cfg80211_scan_block_cb(struct work_struct *work)
 	}
 }
 
+/**
+ * wlan_hdd_copy_bssid_scan_request() - API to copy the bssid to Scan request
+ * @scan_req: Pointer to CSR Scan Request
+ * @request: scan request from Supplicant
+ *
+ * This API copies the BSSID in scan request from Supplicant and copies it to
+ * the CSR Scan request
+ *
+ * Return: None
+ */
+#ifdef CFG80211_SCAN_BSSID
+static inline void wlan_hdd_copy_bssid_scan_request(tCsrScanRequest *scan_req,
+					struct cfg80211_scan_request *request)
+{
+	qdf_mem_copy(scan_req->bssid, request->bssid, VOS_MAC_ADDR_SIZE);
+}
+#else
+static inline void wlan_hdd_copy_bssid_scan_request(tCsrScanRequest *scan_req,
+					struct cfg80211_scan_request *request)
+{
+}
+#endif
+
 /**
  * __wlan_hdd_cfg80211_scan() - API to process cfg80211 scan request
  * @wiphy: Pointer to wiphy
@@ -1423,6 +1446,8 @@ static int __wlan_hdd_cfg80211_scan(struct wiphy *wiphy,
 	scan_req.minChnTime = cfg_param->nActiveMinChnTime;
 	scan_req.maxChnTime = cfg_param->nActiveMaxChnTime;
 
+	wlan_hdd_copy_bssid_scan_request(&scan_req, request);
+
 	/* set BSSType to default type */
 	scan_req.BSSType = eCSR_BSS_TYPE_ANY;