Browse Source

qcacld-3.0: vendor support to block scans

Add vendor command support to block all the
scans triggered from host

Change-Id: I7860408f3ea3f0531e923e0613d555e2cdff5e5e
CRs-Fixed: 2080146
Sandeep Puligilla 7 years ago
parent
commit
24b7aa71fe
2 changed files with 8 additions and 1 deletions
  1. 7 1
      core/hdd/src/wlan_hdd_cfg80211.c
  2. 1 0
      core/sme/src/common/sme_api.c

+ 7 - 1
core/hdd/src/wlan_hdd_cfg80211.c

@@ -5681,6 +5681,7 @@ wlan_hdd_wifi_config_policy[QCA_WLAN_VENDOR_ATTR_CONFIG_MAX + 1] = {
 	[QCA_WLAN_VENDOR_ATTR_CONFIG_ANT_DIV_SELFTEST] = {.type = NLA_U32 },
 	[QCA_WLAN_VENDOR_ATTR_CONFIG_ANT_DIV_SELFTEST_INTVL] = {.type = NLA_U32 },
 	[QCA_WLAN_VENDOR_ATTR_CONFIG_TOTAL_BEACON_MISS_COUNT] = {.type = NLA_U8},
+	[QCA_WLAN_VENDOR_ATTR_CONFIG_SCAN_ENABLE] = {.type = NLA_U8 },
 };
 
 /**
@@ -6001,7 +6002,7 @@ __wlan_hdd_cfg80211_wifi_configuration_set(struct wiphy *wiphy,
 	uint8_t *scan_ie;
 	struct sir_set_tx_rx_aggregation_size request;
 	QDF_STATUS qdf_status;
-	uint8_t retry, delay;
+	uint8_t retry, delay, enable_flag;
 	uint32_t abs_delay;
 	int param_id;
 	uint32_t tx_fail_count;
@@ -6065,6 +6066,11 @@ __wlan_hdd_cfg80211_wifi_configuration_set(struct wiphy *wiphy,
 		if (status != QDF_STATUS_SUCCESS)
 			ret_val = -EPERM;
 	}
+	if (tb[QCA_WLAN_VENDOR_ATTR_CONFIG_SCAN_ENABLE]) {
+		enable_flag =
+			nla_get_u8(tb[QCA_WLAN_VENDOR_ATTR_CONFIG_SCAN_ENABLE]);
+		sme_set_scan_disable(hdd_ctx->hHal, !enable_flag);
+	}
 
 	if (tb[QCA_WLAN_VENDOR_ATTR_CONFIG_QPOWER]) {
 		qpower = nla_get_u8(

+ 1 - 0
core/sme/src/common/sme_api.c

@@ -842,6 +842,7 @@ void sme_set_scan_disable(tHalHandle h_hal, int value)
 {
 	tpAniSirGlobal mac_ctx = PMAC_STRUCT(h_hal);
 
+	sme_info("scan disable %d", value);
 	ucfg_scan_set_enable(mac_ctx->psoc, !value);
 }
 /*