summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHouston Hoffman <hhoffman@codeaurora.org>2017-10-11 14:50:30 -0700
committersnandini <snandini@codeaurora.org>2017-10-12 10:22:05 -0700
commit1e1fca492943bf9d2dc763c8e02f7c9847d58aa3 (patch)
tree692f5e432008c68c7ba612721126f76a6ed47764
parenta856a0ba1a6f186fad505c1b7a9ee254cfdc2aa0 (diff)
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
-rw-r--r--wmi/src/wmi_unified.c26
1 files changed, 13 insertions, 13 deletions
diff --git a/wmi/src/wmi_unified.c b/wmi/src/wmi_unified.c
index 9a417633c07a..d431bf772e6f 100644
--- a/wmi/src/wmi_unified.c
+++ b/wmi/src/wmi_unified.c
@@ -1549,22 +1549,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);
@@ -1602,6 +1589,19 @@ static void wmi_control_rx(void *ctx, HTC_PACKET *htc_packet)
exec_ctx = wmi_handle->ctx[idx];
qdf_spin_unlock_bh(&wmi_handle->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);