Procházet zdrojové kódy

qcacmn: Register scan rule callback with serialization

Register Scan rule callback API with the serialization module.

Change-Id: Ie578413a13bc7adcac0ed2a56d9574ad00b7e51c
CRs-Fixed: 2037248
Sandeep Puligilla před 8 roky
rodič
revize
140c41ee36
1 změnil soubory, kde provedl 29 přidání a 1 odebrání
  1. 29 1
      umac/scan/dispatcher/src/wlan_scan_ucfg_api.c

+ 29 - 1
umac/scan/dispatcher/src/wlan_scan_ucfg_api.c

@@ -1115,6 +1115,31 @@ ucfg_scan_psoc_close(struct wlan_objmgr_psoc *psoc)
 	return QDF_STATUS_SUCCESS;
 }
 
+static bool scm_serialization_scan_rules_cb(
+		union wlan_serialization_rules_info *comp_info,
+		uint8_t comp_id)
+{
+	switch (comp_id) {
+	case QDF_MODULE_ID_TDLS:
+		if (comp_info->scan_info.is_tdls_in_progress) {
+			scm_info("Cancel scan. Tdls in progress");
+			return false;
+		}
+		break;
+	case QDF_MODULE_ID_DFS:
+		if (comp_info->scan_info.is_cac_in_progress) {
+			scm_info("Cancel scan. CAC in progress");
+			return false;
+		}
+		break;
+	default:
+		scm_info("not handled comp_id %d", comp_id);
+		break;
+	}
+
+	return true;
+}
+
 QDF_STATUS
 ucfg_scan_psoc_enable(struct wlan_objmgr_psoc *psoc)
 {
@@ -1130,7 +1155,10 @@ ucfg_scan_psoc_enable(struct wlan_objmgr_psoc *psoc)
 	QDF_ASSERT(status == QDF_STATUS_SUCCESS);
 	scm_db_init(psoc);
 	ucfg_scan_register_unregister_bcn_cb(psoc, true);
-
+	status = wlan_serialization_register_apply_rules_cb(psoc,
+				WLAN_SER_CMD_SCAN,
+				scm_serialization_scan_rules_cb);
+	QDF_ASSERT(status == QDF_STATUS_SUCCESS);
 	return status;
 }