From 9b6a0806348e93eefb4da506ef8a0e7f6b6cb925 Mon Sep 17 00:00:00 2001 From: Abhishek Singh Date: Thu, 12 Dec 2019 17:25:04 +0530 Subject: [PATCH] qcacld-3.0: Remove logic to disconnect STA on VDEV delete With Vdev delete not using serialization, no need to disconnect any STA with connection in progress. The logic was added to remove the active connect command from serialization queue so that vdev delete can complete before hdd time out. Now as vdev delete is not using the serialization remove this. Change-Id: Id8c5ab31e54c8cf26999aff58c0773213f0cb13a CRs-Fixed: 2585753 --- core/hdd/src/wlan_hdd_main.c | 34 ---------------------------------- 1 file changed, 34 deletions(-) diff --git a/core/hdd/src/wlan_hdd_main.c b/core/hdd/src/wlan_hdd_main.c index 4c529825ffc9..3ebdadc72d7a 100644 --- a/core/hdd/src/wlan_hdd_main.c +++ b/core/hdd/src/wlan_hdd_main.c @@ -5945,23 +5945,6 @@ QDF_STATUS hdd_stop_adapter(struct hdd_context *hdd_ctx, } } - /* - * During vdev destroy, if any STA is in connecting state the - * roam command will be in active queue and thus vdev destroy is - * queued in pending queue. In case STA tries to connect to - * multiple BSSID and fails to connect, due to auth/assoc - * timeouts it may take more than vdev destroy time to get - * completed. On vdev destroy timeout vdev is moved to logically - * deleted state. Once connection is completed, vdev destroy is - * activated and to release the self-peer ref count it try to - * get the ref of the vdev, which fails as vdev is logically - * deleted and this leads to peer ref leak. So before vdev - * destroy is queued abort any STA ongoing connection to avoid - * vdev destroy timeout. - */ - if (test_bit(SME_SESSION_OPENED, &adapter->event_flags)) - hdd_abort_ongoing_sta_connection(hdd_ctx); - hdd_vdev_destroy(adapter); break; @@ -6008,23 +5991,6 @@ QDF_STATUS hdd_stop_adapter(struct hdd_context *hdd_ctx, hdd_deregister_tx_flow_control(adapter); hdd_destroy_acs_timer(adapter); - /** - * During vdev destroy, If any STA is in connecting state the - * roam command will be in active queue and thus vdev destroy is - * queued in pending queue. In case STA is tries to connected to - * multiple BSSID and fails to connect, due to auth/assoc - * timeouts it may take more than vdev destroy time to get - * completes. If vdev destroy timeout vdev is moved to logically - * deleted state. Once connection is completed, vdev destroy is - * activated and to release the self-peer ref count it try to - * get the ref of the vdev, which fails as vdev is logically - * deleted and this leads to peer ref leak. So before vdev - * destroy is queued abort any STA ongoing connection to avoid - * vdev destroy timeout. - */ - if (test_bit(SME_SESSION_OPENED, &adapter->event_flags)) - hdd_abort_ongoing_sta_connection(hdd_ctx); - mutex_lock(&hdd_ctx->sap_lock); if (test_bit(SOFTAP_BSS_STARTED, &adapter->event_flags)) { status = wlansap_stop_bss(