|
@@ -680,6 +680,7 @@ static int send_filled_buffers_to_user(void)
|
|
|
* @is_fatal: Type of event, fatal or not
|
|
|
* @indicator: Source of bug report, framework/host/firmware
|
|
|
* @reason_code: Reason for triggering bug report
|
|
|
+ * @ring_id: Ring id of logging entities
|
|
|
*
|
|
|
* This function is used to report the bug report completion to userspace
|
|
|
*
|
|
@@ -687,7 +688,8 @@ static int send_filled_buffers_to_user(void)
|
|
|
*/
|
|
|
void wlan_report_log_completion(uint32_t is_fatal,
|
|
|
uint32_t indicator,
|
|
|
- uint32_t reason_code)
|
|
|
+ uint32_t reason_code,
|
|
|
+ uint8_t ring_id)
|
|
|
{
|
|
|
WLAN_HOST_DIAG_EVENT_DEF(wlan_diag_event,
|
|
|
struct host_event_wlan_log_complete);
|
|
@@ -695,7 +697,7 @@ void wlan_report_log_completion(uint32_t is_fatal,
|
|
|
wlan_diag_event.is_fatal = is_fatal;
|
|
|
wlan_diag_event.indicator = indicator;
|
|
|
wlan_diag_event.reason_code = reason_code;
|
|
|
- wlan_diag_event.reserved = 0;
|
|
|
+ wlan_diag_event.reserved = ring_id;
|
|
|
|
|
|
WLAN_HOST_DIAG_EVENT_REPORT(&wlan_diag_event, EVENT_WLAN_LOG_COMPLETE);
|
|
|
}
|
|
@@ -704,12 +706,13 @@ void wlan_report_log_completion(uint32_t is_fatal,
|
|
|
#ifdef CONFIG_MCL
|
|
|
|
|
|
* send_flush_completion_to_user() - Indicate flush completion to the user
|
|
|
+ * @ring_id: Ring id of logging entities
|
|
|
*
|
|
|
* This function is used to send the flush completion message to user space
|
|
|
*
|
|
|
* Return: None
|
|
|
*/
|
|
|
-static void send_flush_completion_to_user(void)
|
|
|
+static void send_flush_completion_to_user(uint8_t ring_id)
|
|
|
{
|
|
|
uint32_t is_fatal, indicator, reason_code;
|
|
|
bool recovery_needed;
|
|
@@ -721,7 +724,7 @@ static void send_flush_completion_to_user(void)
|
|
|
LOGGING_TRACE(QDF_TRACE_LEVEL_DEBUG,
|
|
|
"%s: Sending flush done to userspace", __func__);
|
|
|
|
|
|
- wlan_report_log_completion(is_fatal, indicator, reason_code);
|
|
|
+ wlan_report_log_completion(is_fatal, indicator, reason_code, ring_id);
|
|
|
|
|
|
if (recovery_needed)
|
|
|
cds_trigger_recovery(false);
|
|
@@ -775,7 +778,8 @@ static int wlan_logging_thread(void *Arg)
|
|
|
#ifdef CONFIG_MCL
|
|
|
if (WLAN_LOG_INDICATOR_HOST_ONLY ==
|
|
|
cds_get_log_indicator()) {
|
|
|
- send_flush_completion_to_user();
|
|
|
+ send_flush_completion_to_user(
|
|
|
+ RING_ID_DRIVER_DEBUG);
|
|
|
}
|
|
|
#endif
|
|
|
}
|
|
@@ -797,7 +801,8 @@ static int wlan_logging_thread(void *Arg)
|
|
|
if (gwlan_logging.is_flush_complete == true) {
|
|
|
gwlan_logging.is_flush_complete = false;
|
|
|
#ifdef CONFIG_MCL
|
|
|
- send_flush_completion_to_user();
|
|
|
+ send_flush_completion_to_user(
|
|
|
+ RING_ID_DRIVER_DEBUG);
|
|
|
#endif
|
|
|
} else {
|
|
|
gwlan_logging.is_flush_complete = true;
|