Quellcode durchsuchen

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 vor 3 Jahren
Ursprung
Commit
a51f024cd9
1 geänderte Dateien mit 3 neuen und 3 gelöschten Zeilen
  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");