Pārlūkot izejas kodu

qcacld-3.0: Serialize WMI_ROAM_EVENTID to MC thread

Currently WMI_ROAM_EVENTID is handled in work queue context whereas
WMI_ROAM_SYNCH_EVENTID is handled in MC Thread context. This can
cause handling of WMI_ROAM_SYNCH_EVENTID followed by WMI_ROAM_EVENTID
if both events are received from firmware almost at the same time
which can result in setting roaming_in_progress to true even after
roam synch event handling and can block further scan requests.
Fix this by handling both WMI_ROAM_EVENTID and WMI_ROAM_SYNCH_EVENTID
in same MC Thread context.

Change-Id: I722cea54fa2126cb5d647f3a26371ca1c9a0f5a2
CRs-Fixed: 2014404
Padma, Santhosh Kumar 8 gadi atpakaļ
vecāks
revīzija
18169ce96e
1 mainītis faili ar 1 papildinājumiem un 1 dzēšanām
  1. 1 1
      core/wma/src/wma_main.c

+ 1 - 1
core/wma/src/wma_main.c

@@ -2995,7 +2995,7 @@ QDF_STATUS wma_start(void *cds_ctx)
 	status = wmi_unified_register_event_handler(wma_handle->wmi_handle,
 						    WMI_ROAM_EVENTID,
 						    wma_roam_event_callback,
-						    WMA_RX_WORK_CTX);
+						    WMA_RX_SERIALIZER_CTX);
 	if (0 != status) {
 		WMA_LOGP("%s: Failed to register Roam callback", __func__);
 		qdf_status = QDF_STATUS_E_FAILURE;