|
@@ -80,6 +80,7 @@
|
|
|
#include <wlan_mlo_mgr_sta.h>
|
|
|
#include <wlan_mlo_mgr_main.h>
|
|
|
#include "wlan_policy_mgr_ucfg.h"
|
|
|
+#include "wma_pasn_peer_api.h"
|
|
|
|
|
|
static QDF_STATUS init_sme_cmd_list(struct mac_context *mac);
|
|
|
|
|
@@ -4776,6 +4777,7 @@ QDF_STATUS sme_vdev_delete(mac_handle_t mac_handle,
|
|
|
{
|
|
|
QDF_STATUS status;
|
|
|
struct mac_context *mac = MAC_CONTEXT(mac_handle);
|
|
|
+ tp_wma_handle wma = cds_get_context(QDF_MODULE_ID_WMA);
|
|
|
uint8_t *self_peer_macaddr, vdev_id = wlan_vdev_get_id(vdev);
|
|
|
struct scheduler_msg self_peer_delete_msg = {0};
|
|
|
struct del_vdev_params *del_self_peer;
|
|
@@ -4784,6 +4786,11 @@ QDF_STATUS sme_vdev_delete(mac_handle_t mac_handle,
|
|
|
TRACE_CODE_SME_RX_HDD_CLOSE_SESSION, vdev_id, 0));
|
|
|
|
|
|
status = sme_acquire_global_lock(&mac->sme);
|
|
|
+
|
|
|
+ if (vdev->vdev_mlme.vdev_opmode == QDF_STA_MODE ||
|
|
|
+ vdev->vdev_mlme.vdev_opmode == QDF_SAP_MODE)
|
|
|
+ wma_delete_all_pasn_peers(wma, vdev);
|
|
|
+
|
|
|
if (QDF_IS_STATUS_SUCCESS(status)) {
|
|
|
status = csr_prepare_vdev_delete(mac, vdev_id, false);
|
|
|
sme_release_global_lock(&mac->sme);
|