فهرست منبع

qcacld-3.0: Move cp stats to scheduler thread from kworker thread

Currently, cp stats are received through kworker thread context.
This causes race conditions/out of sync issues if any common data
structures are handled in parallel in scheduler thread context.
There is no need to receive the cp stats on kworker thread as per
current design. So, move the cp stats event handling to scheduler
thread to avoid any race conditions.

Change-Id: Id8134003e6f7a3e0368b20c496f650e0b7025b9e
CRs-Fixed: 2928876
Srinivas Dasari 3 سال پیش
والد
کامیت
a51f024cd9
1فایلهای تغییر یافته به همراه3 افزوده شده و 3 حذف شده
  1. 3 3
      components/target_if/cp_stats/src/target_if_mc_cp_stats.c

+ 3 - 3
components/target_if/cp_stats/src/target_if_mc_cp_stats.c

@@ -1198,7 +1198,7 @@ target_if_register_big_data_event_handler(struct wmi_unified *wmi_handle)
 	return wmi_unified_register_event_handler(
 			    wmi_handle, wmi_vdev_send_big_data_p2_eventid,
 			    target_if_mc_cp_stats_big_data_stats_event_handler,
-			    WMI_RX_WORK_CTX);
+			    WMI_RX_SERIALIZER_CTX);
 }
 
 static void
@@ -1268,14 +1268,14 @@ target_if_mc_cp_stats_register_event_handler(struct wlan_objmgr_psoc *psoc)
 			wmi_handle,
 			wmi_update_stats_event_id,
 			target_if_mc_cp_stats_stats_event_handler,
-			WMI_RX_WORK_CTX);
+			WMI_RX_SERIALIZER_CTX);
 	if (QDF_IS_STATUS_ERROR(ret_val))
 		cp_stats_err("Failed to register stats event cb");
 
 	ret_val = wmi_unified_register_event_handler(wmi_handle,
 			    wmi_peer_stats_info_event_id,
 			    target_if_mc_cp_stats_peer_stats_info_event_handler,
-			    WMI_RX_WORK_CTX);
+			    WMI_RX_SERIALIZER_CTX);
 	if (QDF_IS_STATUS_ERROR(ret_val))
 		cp_stats_err("Failed to register peer stats info event cb");