diff --git a/umac/mlme/include/wlan_vdev_mlme.h b/umac/mlme/include/wlan_vdev_mlme.h index a07470d6fa..d6f7983383 100644 --- a/umac/mlme/include/wlan_vdev_mlme.h +++ b/umac/mlme/include/wlan_vdev_mlme.h @@ -206,6 +206,7 @@ struct vdev_mlme_proto { * @disable_hw_ack: disable ha ack flag * @bssid: bssid * @phy_mode: phy mode + * @special_vdev_mode: indicates special vdev mode */ struct vdev_mlme_mgmt_generic { uint32_t rts_threshold; @@ -231,6 +232,7 @@ struct vdev_mlme_mgmt_generic { bool disable_hw_ack; uint8_t bssid[QDF_MAC_ADDR_SIZE]; uint32_t phy_mode; + bool special_vdev_mode; }; /** diff --git a/umac/mlme/vdev_mgr/core/src/vdev_mgr_ops.c b/umac/mlme/vdev_mgr/core/src/vdev_mgr_ops.c index b7d948e3e6..1ca747a50e 100644 --- a/umac/mlme/vdev_mgr/core/src/vdev_mgr_ops.c +++ b/umac/mlme/vdev_mgr/core/src/vdev_mgr_ops.c @@ -65,6 +65,7 @@ static QDF_STATUS vdev_mgr_create_param_update( param->subtype = mlme_obj->mgmt.generic.subtype; param->mbssid_flags = mbss->mbssid_flags; param->vdevid_trans = mbss->vdevid_trans; + param->special_vdev_mode = mlme_obj->mgmt.generic.special_vdev_mode; return QDF_STATUS_SUCCESS; } diff --git a/umac/mlme/vdev_mgr/dispatcher/inc/wlan_vdev_mgr_tgt_if_tx_defs.h b/umac/mlme/vdev_mgr/dispatcher/inc/wlan_vdev_mgr_tgt_if_tx_defs.h index f0eb5116d9..4d1550d817 100644 --- a/umac/mlme/vdev_mgr/dispatcher/inc/wlan_vdev_mgr_tgt_if_tx_defs.h +++ b/umac/mlme/vdev_mgr/dispatcher/inc/wlan_vdev_mgr_tgt_if_tx_defs.h @@ -491,6 +491,7 @@ struct vdev_set_params { * @pdev_id: pdev id on pdev for this vdev * @mbssid_flags: MBSS IE flags indicating vdev type * @vdevid_trans: id of transmitting vdev for MBSS IE + * @special_vdev_mode: indicates special vdev mode */ struct vdev_create_params { uint8_t vdev_id; @@ -501,6 +502,7 @@ struct vdev_create_params { uint32_t pdev_id; uint32_t mbssid_flags; uint8_t vdevid_trans; + bool special_vdev_mode; }; /** diff --git a/wmi/src/wmi_unified_tlv.c b/wmi/src/wmi_unified_tlv.c index d29d8681d0..2dc6c3786d 100644 --- a/wmi/src/wmi_unified_tlv.c +++ b/wmi/src/wmi_unified_tlv.c @@ -763,6 +763,7 @@ static QDF_STATUS send_vdev_create_cmd_tlv(wmi_unified_t wmi_handle, cmd->vdev_type = param->type; cmd->vdev_subtype = param->subtype; cmd->flags = param->mbssid_flags; + cmd->flags |= (param->special_vdev_mode ? VDEV_FLAGS_SCAN_MODE_VAP : 0); cmd->vdevid_trans = param->vdevid_trans; cmd->num_cfg_txrx_streams = num_bands; copy_vdev_create_pdev_id(wmi_handle, cmd, param);