wlan: Add diag event for scan blocked by TDLS.
Add diag event for EVENT_TDLS_SCAN_BLOCK. This event indicates if
scan is blocked because of TDLS.
Change-Id: I00dd9d2a54cbe054b400b2d1cb74c0e14b9a13d7
CRs-Fixed: 934456
diff --git a/CORE/HDD/inc/wlan_hdd_tdls.h b/CORE/HDD/inc/wlan_hdd_tdls.h
index c2c5e05..e19f7f5 100644
--- a/CORE/HDD/inc/wlan_hdd_tdls.h
+++ b/CORE/HDD/inc/wlan_hdd_tdls.h
@@ -422,6 +422,8 @@
uint8_t is_off_chan_supported,
uint8_t is_off_chan_configured,
uint8_t is_off_chan_established);
+void hdd_wlan_block_scan_by_tdls(void);
+
#else
static inline
void hdd_send_wlan_tdls_teardown_event(uint32_t reason,
@@ -437,6 +439,11 @@
{
return;
}
+static inline
+void hdd_wlan_block_scan_by_tdls(void)
+{
+ return;
+}
#endif /* FEATURE_WLAN_DIAG_SUPPORT */
int wlan_hdd_tdls_set_force_peer(hdd_adapter_t *pAdapter,
diff --git a/CORE/HDD/src/wlan_hdd_cfg80211.c b/CORE/HDD/src/wlan_hdd_cfg80211.c
index a5adaea..a116087 100644
--- a/CORE/HDD/src/wlan_hdd_cfg80211.c
+++ b/CORE/HDD/src/wlan_hdd_cfg80211.c
@@ -13213,15 +13213,15 @@
dev,
#endif
request);
- if(status <= 0)
+ if (status <= 0)
{
- if(!status)
+ if (!status)
hddLog(VOS_TRACE_LEVEL_ERROR, "%s: TDLS in progress."
"scan rejected %d", __func__, status);
else
hddLog(VOS_TRACE_LEVEL_ERROR, "%s: TDLS teardown is ongoing %d",
__func__, status);
-
+ hdd_wlan_block_scan_by_tdls();
return status;
}
#endif
diff --git a/CORE/HDD/src/wlan_hdd_tdls.c b/CORE/HDD/src/wlan_hdd_tdls.c
index 6e07a9c..32637ef 100644
--- a/CORE/HDD/src/wlan_hdd_tdls.c
+++ b/CORE/HDD/src/wlan_hdd_tdls.c
@@ -129,6 +129,30 @@
WLAN_VOS_DIAG_EVENT_REPORT(&tdls_event,
EVENT_WLAN_TDLS_ENABLE_LINK);
}
+
+/**
+ * hdd_wlan_block_scan_by_tdls()- send event
+ * if scan is blocked by tdls
+ *
+ * This Function send send diag event if scan is
+ * blocked by tdls
+ *
+ * Return: void.
+ */
+
+void hdd_wlan_block_scan_by_tdls(void)
+{
+ WLAN_VOS_DIAG_EVENT_DEF(tdls_scan_block_status,
+ struct vos_event_tdls_scan_rejected);
+
+ vos_mem_zero(&tdls_scan_block_status,
+ sizeof(tdls_scan_block_status));
+
+ tdls_scan_block_status.status = true;
+ WLAN_VOS_DIAG_EVENT_REPORT(&tdls_scan_block_status,
+ EVENT_TDLS_SCAN_BLOCK);
+}
+
#endif