Просмотр исходного кода

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
Arun Khandavalli 8 лет назад
Родитель
Сommit
9ad88f04ac
2 измененных файлов с 3 добавлено и 2 удалено
  1. 1 0
      core/hdd/src/wlan_hdd_hostapd.c
  2. 2 2
      core/hdd/src/wlan_hdd_main.c

+ 1 - 0
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,

+ 2 - 2
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.