diff --git a/core/hdd/src/wlan_hdd_ioctl.c b/core/hdd/src/wlan_hdd_ioctl.c index 5ac9f75a8fc5..9a366106b5a7 100644 --- a/core/hdd/src/wlan_hdd_ioctl.c +++ b/core/hdd/src/wlan_hdd_ioctl.c @@ -6426,8 +6426,9 @@ static int drv_cmd_set_antenna_mode(struct hdd_adapter *adapter, int mode; uint8_t *value = command; - if (((1 << QDF_STA_MODE) != hdd_ctx->concurrency_mode) || - (hdd_ctx->no_of_active_sessions[QDF_STA_MODE] > 1)) { + if (((1 << QDF_STA_MODE) != + policy_mgr_get_concurrency_mode(hdd_ctx->hdd_psoc)) || + (policy_mgr_is_multiple_active_sta_sessions(hdd_ctx->hdd_psoc))) { hdd_err("Operation invalid in non sta or concurrent mode"); ret = -EPERM; goto exit; diff --git a/core/hdd/src/wlan_hdd_main.c b/core/hdd/src/wlan_hdd_main.c index 0930be17258e..f38053266472 100644 --- a/core/hdd/src/wlan_hdd_main.c +++ b/core/hdd/src/wlan_hdd_main.c @@ -12640,6 +12640,8 @@ static int hdd_update_tdls_config(struct hdd_context *hdd_ctx) 1 << TDLS_FEAUTRE_IMPLICIT_TRIGGER : 0) | (cfg->fTDLSExternalControl ? 1 << TDLS_FEATURE_EXTERNAL_CONTROL : 0)); + config->tdls_vdev_nss_2g = CFG_TDLS_NSS(cfg->vdev_type_nss_2g); + config->tdls_vdev_nss_5g = CFG_TDLS_NSS(cfg->vdev_type_nss_5g); tdls_cfg.tdls_send_mgmt_req = eWNI_SME_TDLS_SEND_MGMT_REQ; tdls_cfg.tdls_add_sta_req = eWNI_SME_TDLS_ADD_STA_REQ; diff --git a/core/hdd/src/wlan_hdd_tdls.c b/core/hdd/src/wlan_hdd_tdls.c index 0c040f1da562..eb644cbc2d06 100644 --- a/core/hdd/src/wlan_hdd_tdls.c +++ b/core/hdd/src/wlan_hdd_tdls.c @@ -826,6 +826,9 @@ int wlan_hdd_tdls_antenna_switch(struct hdd_context *hdd_ctx, struct hdd_adapter *adapter, uint32_t mode) { + if (hdd_ctx->tdls_umac_comp_active) + return wlan_tdls_antenna_switch(adapter->hdd_vdev, mode); + return 0; }