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
This commit is contained in:

committed by
qcabuildsw

parent
e586ade30d
commit
18169ce96e
@@ -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;
|
||||
|
Reference in New Issue
Block a user