From 904e527aa7376580c253bf9e91609261ecace0c6 Mon Sep 17 00:00:00 2001 From: Sandeep Puligilla Date: Fri, 20 Dec 2019 17:24:42 -0800 Subject: [PATCH] qcacmn: Add new feature to control fils discovery on 6Ghz Sap 6Ghz SAP needs to send either a probe response or fils discovery at every 20ms. Add a new feature to configure the probe response or fils discovery frame. Change-Id: I3b9842021db94515ae4dccbcdc573a4cd84caa56 CRs-Fixed: 2591147 --- umac/cmn_services/obj_mgr/inc/wlan_objmgr_vdev_obj.h | 4 +++- umac/mlme/vdev_mgr/core/src/vdev_mgr_ops.c | 7 ++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/umac/cmn_services/obj_mgr/inc/wlan_objmgr_vdev_obj.h b/umac/cmn_services/obj_mgr/inc/wlan_objmgr_vdev_obj.h index 7c7cd8dd3538..aa2ea680d20f 100644 --- a/umac/cmn_services/obj_mgr/inc/wlan_objmgr_vdev_obj.h +++ b/umac/cmn_services/obj_mgr/inc/wlan_objmgr_vdev_obj.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016-2019 The Linux Foundation. All rights reserved. + * Copyright (c) 2016-2020 The Linux Foundation. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the @@ -166,6 +166,8 @@ #define WLAN_VDEV_FEXT_MAT 0x20000000 /* VDEV is wired PSTA*/ #define WLAN_VDEV_FEXT_WIRED_PSTA 0x40000000 + /* Fils discovery on 6G SAP*/ +#define WLAN_VDEV_FEXT_FILS_DISC_6G_SAP 0x80000000 /* VDEV OP flags */ /* if the vap destroyed by user */ 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 bc5912cb3473..e4bac19746d8 100644 --- a/umac/mlme/vdev_mgr/core/src/vdev_mgr_ops.c +++ b/umac/mlme/vdev_mgr/core/src/vdev_mgr_ops.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019 The Linux Foundation. All rights reserved. + * Copyright (c) 2019-2020 The Linux Foundation. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the @@ -344,6 +344,7 @@ QDF_STATUS vdev_mgr_up_send(struct vdev_mlme_obj *mlme_obj) enum QDF_OPMODE opmode; struct wlan_objmgr_vdev *vdev; struct config_fils_params fils_param = {0}; + uint8_t is_6g_sap_fd_enabled; if (!mlme_obj) { mlme_err("VDEV_MLME is NULL"); @@ -374,7 +375,11 @@ QDF_STATUS vdev_mgr_up_send(struct vdev_mlme_obj *mlme_obj) if (QDF_IS_STATUS_ERROR(status)) return status; + is_6g_sap_fd_enabled = wlan_vdev_mlme_feat_ext_cap_get(vdev, + WLAN_VDEV_FEXT_FILS_DISC_6G_SAP); + mlme_debug("SAP FD enabled %d", is_6g_sap_fd_enabled); if (opmode == QDF_SAP_MODE && mlme_obj->vdev->vdev_mlme.des_chan && + is_6g_sap_fd_enabled && WLAN_REG_IS_6GHZ_CHAN_FREQ( mlme_obj->vdev->vdev_mlme.des_chan->ch_freq)) { fils_param.vdev_id = wlan_vdev_get_id(mlme_obj->vdev);