From c85276b73a1cfe6a811a44fabef709ece9d6ceab Mon Sep 17 00:00:00 2001 From: Houston Hoffman Date: Wed, 11 Oct 2017 14:50:30 -0700 Subject: [PATCH] qcacmn: Allways do WMI_RX_EVENT_RECORD when wmi event recieved Receipt of the wmi events wasn't being recoreded when the event was being processed in the mc thread or tasklet. Log the receipt in all cases to root-cause unprocessed wmi events faster. Change-Id: I2543a9ff9049e7d177c1ffa5df1e899035860f91 CRs-Fixed: 2125232 --- wmi_unified.c | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/wmi_unified.c b/wmi_unified.c index 12c1f107d4..f0cb325f4e 100644 --- a/wmi_unified.c +++ b/wmi_unified.c @@ -1681,22 +1681,9 @@ static void wmi_process_fw_event_worker_thread_ctx (struct wmi_unified *wmi_handle, HTC_PACKET *htc_packet) { wmi_buf_t evt_buf; - uint32_t id; - uint8_t *data; evt_buf = (wmi_buf_t) htc_packet->pPktContext; - id = WMI_GET_FIELD(qdf_nbuf_data(evt_buf), WMI_CMD_HDR, COMMANDID); - data = qdf_nbuf_data(evt_buf); -#ifdef WMI_INTERFACE_EVENT_LOGGING - if (wmi_handle->log_info.wmi_logging_enable) { - qdf_spin_lock_bh(&wmi_handle->log_info.wmi_record_lock); - /* Exclude 4 bytes of TLV header */ - WMI_RX_EVENT_RECORD(wmi_handle, id, ((uint8_t *) data + - wmi_handle->log_info.buf_offset_event)); - qdf_spin_unlock_bh(&wmi_handle->log_info.wmi_record_lock); - } -#endif qdf_spin_lock_bh(&wmi_handle->eventq_lock); qdf_nbuf_queue_add(&wmi_handle->event_queue, evt_buf); qdf_spin_unlock_bh(&wmi_handle->eventq_lock); @@ -1767,6 +1754,19 @@ static void wmi_control_rx(void *ctx, HTC_PACKET *htc_packet) exec_ctx = wmi_handle->ctx[idx]; qdf_spin_unlock_bh(&soc->ctx_lock); +#ifdef WMI_INTERFACE_EVENT_LOGGING + if (wmi_handle->log_info.wmi_logging_enable) { + uint8_t *data; + data = qdf_nbuf_data(evt_buf); + + qdf_spin_lock_bh(&wmi_handle->log_info.wmi_record_lock); + /* Exclude 4 bytes of TLV header */ + WMI_RX_EVENT_RECORD(wmi_handle, id, ((uint8_t *) data + + wmi_handle->log_info.buf_offset_event)); + qdf_spin_unlock_bh(&wmi_handle->log_info.wmi_record_lock); + } +#endif + if (exec_ctx == WMI_RX_WORK_CTX) { wmi_process_fw_event_worker_thread_ctx (wmi_handle, htc_packet);