diff options
| author | Poddar, Siddarth <siddpodd@codeaurora.org> | 2017-08-22 16:34:06 +0530 |
|---|---|---|
| committer | snandini <snandini@codeaurora.org> | 2017-08-30 06:34:38 -0700 |
| commit | d7ea6fa1320282990e459ddf57a50984f416d65a (patch) | |
| tree | ef5190441a09b34fd937379db9c792526e9fb775 | |
| parent | 0c80e9a3016f4dc21e36e834e727b0385e991d21 (diff) | |
qcacld-3.0: Send data stall status diag event
Add support in data stall detection event to send
diag event to QXDM.
CRs-Fixed: 2086176
Change-Id: Ifad03e0882ccce09a7bf90c8e560f24146690895
| -rw-r--r-- | core/hdd/src/wlan_hdd_data_stall_detection.c | 24 | ||||
| -rw-r--r-- | core/utils/host_diag_log/inc/host_diag_core_event.h | 18 |
2 files changed, 42 insertions, 0 deletions
diff --git a/core/hdd/src/wlan_hdd_data_stall_detection.c b/core/hdd/src/wlan_hdd_data_stall_detection.c index ab095e2efd2f..a75e73473043 100644 --- a/core/hdd/src/wlan_hdd_data_stall_detection.c +++ b/core/hdd/src/wlan_hdd_data_stall_detection.c @@ -26,6 +26,29 @@ #include "cdp_txrx_cmn.h" #include "ol_txrx_types.h" +#ifdef FEATURE_WLAN_DIAG_SUPPORT + +/** + * hdd_data_stall_send_event()- send data stall information + * @reason: data stall event subtype + * This Function sends data stall status diag event + * + * Return: void. + */ +static void hdd_data_stall_send_event(uint32_t reason) +{ + WLAN_HOST_DIAG_EVENT_DEF(sta_data_stall, + struct host_event_wlan_datastall); + qdf_mem_zero(&sta_data_stall, sizeof(sta_data_stall)); + sta_data_stall.reason = reason; + WLAN_HOST_DIAG_EVENT_REPORT(&sta_data_stall, EVENT_WLAN_STA_DATASTALL); +} +#else +static inline void hdd_data_stall_send_event(uint32_t reason) +{ +} +#endif + /** * hdd_data_stall_process_cb() - Process data stall message * @message: data stall message @@ -37,6 +60,7 @@ static void hdd_data_stall_process_cb( struct data_stall_event_info *data_stall_info) { + hdd_data_stall_send_event(data_stall_info->data_stall_type); } int hdd_register_data_stall_detect_cb(void) diff --git a/core/utils/host_diag_log/inc/host_diag_core_event.h b/core/utils/host_diag_log/inc/host_diag_core_event.h index 6080154131f7..08ed1cb829ee 100644 --- a/core/utils/host_diag_log/inc/host_diag_core_event.h +++ b/core/utils/host_diag_log/inc/host_diag_core_event.h @@ -462,14 +462,32 @@ enum host_sta_kickout_events { ------------------------------------------------------------------------*/ /** * enum host_datastall_events - Enum containing datastall subtype + * @DATA_STALL_NONE: Indicate no data stall + * @FW_VDEV_PAUSE: Indicate FW vdev Pause + * @HWSCHED_CMD_FILTER:Indicate HW sched command filter + * @HWSCHED_CMD_FLUSH: Indicate HW sched command flush + * @FW_RX_REFILL_FAILED:Indicate FW rx refill failed + * @FW_RX_FCS_LEN_ERROR:Indicate FW fcs len error + * @FW_WDOG_ERRORS:Indicate watchdog error + * @FW_BB_WDOG_ERROR:Indicate BB watchdog error * @STA_TX_TIMEOUT: Indicate sta tx timeout * @SOFTAP_TX_TIMEOUT:Indicate softap tx timeout + * @NUD_FAILURE: Indicare NUD Failure * * This enum contains the event subtype */ enum host_datastall_events { + DATA_STALL_NONE, + FW_VDEV_PAUSE, + HWSCHED_CMD_FILTER, + HWSCHED_CMD_FLUSH, + FW_RX_REFILL_FAILED, + FW_RX_FCS_LEN_ERROR, + FW_WDOG_ERRORS, + FW_BB_WDOG_ERROR, STA_TX_TIMEOUT, SOFTAP_TX_TIMEOUT, + NUD_FAILURE, }; /*------------------------------------------------------------------------- |
