Эх сурвалжийг харах

qcacld-3.0: If Hw is DBS capable dont allow scan in IBSS dev

For IBSS, firmware does not add self peer for each mac and thus
if HW is capable of DBS the firmware crash when scan req is received
on IBSS vdev. Also IBSS vdev does not need to scan to establish
IBSS connection.

To fix the crash, block the scan on IBSS vdev when DBS is enabled.

Change-Id: I41eda671d263a72ccb2b0c27212dd1d983043bca
CRs-Fixed: 2029880
Abhishek Singh 8 жил өмнө
parent
commit
995a53bcca

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

@@ -1537,6 +1537,19 @@ static int __wlan_hdd_cfg80211_scan(struct wiphy *wiphy,
 		hdd_device_mode_to_string(pAdapter->device_mode),
 		pAdapter->device_mode);
 
+	/*
+	 * IBSS vdev does not have peers on other macs,
+	 * so it does not support scan on other band,
+	 * and IBSS vdev does not need to scan to establish
+	 * IBSS connection. If IBSS vdev need to support scan,
+	 * Firmware need to make the change to add self peer
+	 * per mac for IBSS vdev.
+	 */
+	if (policy_mgr_is_hw_dbs_capable(pHddCtx->hdd_psoc) &&
+	   (QDF_IBSS_MODE == pAdapter->device_mode)) {
+		hdd_err("Scan not supported for IBSS in if HW support DBS");
+		return -EINVAL;
+	}
 
 	cfg_param = pHddCtx->config;
 	pScanInfo = &pAdapter->scan_info;