瀏覽代碼

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");