From 9ad88f04ac97ec43a64bfc10b2a409b58f23dd10 Mon Sep 17 00:00:00 2001 From: Arun Khandavalli Date: Thu, 1 Sep 2016 19:03:37 +0530 Subject: [PATCH] qcacld-3.0: Move invalidation of sessionId when the adapter is allocated NDI interface creation is supported from the hdd_open_adapter, because of invalidation of sessionId is done in the same function the session created for NDI is getting overwritten. To migitate the issue invalidate the sessionId once the adapter is created. Change-Id: I0a4a116daae02b822b3e75c06e2b966be9f2e24b CRs-Fixed: 1064031 --- core/hdd/src/wlan_hdd_hostapd.c | 1 + core/hdd/src/wlan_hdd_main.c | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/core/hdd/src/wlan_hdd_hostapd.c b/core/hdd/src/wlan_hdd_hostapd.c index efba296c6d0d..c88fce1fad45 100644 --- a/core/hdd/src/wlan_hdd_hostapd.c +++ b/core/hdd/src/wlan_hdd_hostapd.c @@ -6455,6 +6455,7 @@ hdd_adapter_t *hdd_wlan_create_ap_dev(hdd_context_t *pHddCtx, pHostapdAdapter->dev = pWlanHostapdDev; pHostapdAdapter->pHddCtx = pHddCtx; pHostapdAdapter->magic = WLAN_HDD_ADAPTER_MAGIC; + pHostapdAdapter->sessionId = HDD_SESSION_ID_INVALID; hdd_info("pWlanHostapdDev = %p, pHostapdAdapter = %p, concurrency_mode=0x%x", pWlanHostapdDev, diff --git a/core/hdd/src/wlan_hdd_main.c b/core/hdd/src/wlan_hdd_main.c index 77e255873f65..bd87c13de995 100644 --- a/core/hdd/src/wlan_hdd_main.c +++ b/core/hdd/src/wlan_hdd_main.c @@ -2393,6 +2393,7 @@ static hdd_adapter_t *hdd_alloc_station_adapter(hdd_context_t *hdd_ctx, adapter->dev = pWlanDev; adapter->pHddCtx = hdd_ctx; adapter->magic = WLAN_HDD_ADAPTER_MAGIC; + adapter->sessionId = HDD_SESSION_ID_INVALID; init_completion(&adapter->session_open_comp_var); init_completion(&adapter->session_close_comp_var); @@ -3218,8 +3219,6 @@ hdd_adapter_t *hdd_open_adapter(hdd_context_t *hdd_ctx, uint8_t session_type, if (QDF_STATUS_SUCCESS != hdd_debugfs_init(adapter)) hdd_err("Interface %s wow debug_fs init failed", iface_name); - adapter->sessionId = HDD_SESSION_ID_INVALID; - return adapter; err_lro_cleanup: @@ -3369,6 +3368,7 @@ static void hdd_wait_for_sme_close_sesion(hdd_context_t *hdd_ctx, sme_close_session(hdd_ctx->hHal, adapter->sessionId, hdd_sme_close_session_callback, adapter)) { + adapter->sessionId = HDD_SESSION_ID_INVALID; /* * Block on a completion variable. Can't wait * forever though.