summaryrefslogtreecommitdiff
path: root/qcwcn/wifi_hal/wifilogger_diag.cpp
diff options
context:
space:
mode:
authorAmarnath Hullur Subramanyam <amarnath@codeaurora.org>2015-09-03 19:22:30 +0530
committerVineeta Srivastava <vsrivastava@google.com>2015-09-03 15:19:15 -0700
commit57db12bad7921f7e4efa148f1a3a8ed37e92d5d4 (patch)
tree1aada94fd4435d57237b4c204c05e473b1563a2e /qcwcn/wifi_hal/wifilogger_diag.cpp
parenteb3d1bfb7ba3935f3d5d31fc25a826760584e474 (diff)
downloadwlan-57db12bad7921f7e4efa148f1a3a8ed37e92d5d4.tar.gz
WiFi-HAL: Write header and payload to same buffer
In case of driver prints and firmware prints, events will be split into write to ring buffer as header and payload. Write header and payload to same buffer so that complete record will be available in a single buffer. Bug:23783279 Change-Id: I54d3f813fbb14932b483cd6423d41c7187a464a9
Diffstat (limited to 'qcwcn/wifi_hal/wifilogger_diag.cpp')
-rw-r--r--qcwcn/wifi_hal/wifilogger_diag.cpp21
1 files changed, 14 insertions, 7 deletions
diff --git a/qcwcn/wifi_hal/wifilogger_diag.cpp b/qcwcn/wifi_hal/wifilogger_diag.cpp
index 65d78fd..d5d2346 100644
--- a/qcwcn/wifi_hal/wifilogger_diag.cpp
+++ b/qcwcn/wifi_hal/wifilogger_diag.cpp
@@ -101,7 +101,7 @@ static wifi_error update_connectivity_ring_buf(hal_info *info,
if (info->rb_infos[CONNECTIVITY_EVENTS_RB_ID].verbose_level >= 1 &&
info->on_ring_buffer_data) {
return ring_buffer_write(&info->rb_infos[CONNECTIVITY_EVENTS_RB_ID],
- (u8*)rbe, total_length, 1);
+ (u8*)rbe, total_length, 1, total_length);
}
return WIFI_SUCCESS;
@@ -773,13 +773,15 @@ wifi_error process_firmware_prints(hal_info *info, u8 *buf, u16 length)
* complete payload memcpy */
status = ring_buffer_write(&info->rb_infos[FIRMWARE_PRINTS_RB_ID],
(u8*)&rb_entry_hdr,
- sizeof(wifi_ring_buffer_entry), 0);
+ sizeof(wifi_ring_buffer_entry),
+ 0,
+ sizeof(wifi_ring_buffer_entry) + length);
if (status != WIFI_SUCCESS) {
ALOGE("Failed to write firmware prints rb header %d", status);
return status;
}
status = ring_buffer_write(&info->rb_infos[FIRMWARE_PRINTS_RB_ID],
- buf, length, 1);
+ buf, length, 1, length);
if (status != WIFI_SUCCESS) {
ALOGE("Failed to write firmware prints rb payload %d", status);
return status;
@@ -1089,7 +1091,9 @@ static wifi_error process_wakelock_event(hal_info *info, u8* buf, int length)
info->on_ring_buffer_data) {
status = ring_buffer_write(&info->rb_infos[POWER_EVENTS_RB_ID],
(u8*)pRingBufferEntry,
- len_ring_buffer_entry, 1);
+ len_ring_buffer_entry,
+ 1,
+ len_ring_buffer_entry);
} else {
status = WIFI_SUCCESS;
}
@@ -1140,7 +1144,8 @@ static wifi_error update_stats_to_ring_buf(hal_info *info,
ring_buffer_write(&info->rb_infos[PKT_STATS_RB_ID],
(u8*)pRingBufferEntry,
size,
- num_records);
+ num_records,
+ size);
}
return WIFI_SUCCESS;
@@ -1733,13 +1738,15 @@ wifi_error process_driver_prints(hal_info *info, u8 *buf, u16 length)
* complete payload memcpy */
status = ring_buffer_write(&info->rb_infos[DRIVER_PRINTS_RB_ID],
(u8*)&rb_entry_hdr,
- sizeof(wifi_ring_buffer_entry), 0);
+ sizeof(wifi_ring_buffer_entry),
+ 0,
+ sizeof(wifi_ring_buffer_entry) + length);
if (status != WIFI_SUCCESS) {
ALOGE("Failed to write driver prints rb header %d", status);
return status;
}
status = ring_buffer_write(&info->rb_infos[DRIVER_PRINTS_RB_ID],
- buf, length, 1);
+ buf, length, 1, length);
if (status != WIFI_SUCCESS) {
ALOGE("Failed to write driver prints rb payload %d", status);
return status;