From 18169ce96ee397dcfe23d0ccdab6006875a047a1 Mon Sep 17 00:00:00 2001 From: "Padma, Santhosh Kumar" Date: Thu, 2 Mar 2017 18:04:02 +0530 Subject: [PATCH] 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 --- core/wma/src/wma_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/wma/src/wma_main.c b/core/wma/src/wma_main.c index 64fb270a8b21..b5599b9fe53b 100644 --- a/core/wma/src/wma_main.c +++ b/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;