From a94efa0175bcc390348cec4c957bcabe7b31e915 Mon Sep 17 00:00:00 2001 From: Sandeep Puligilla Date: Fri, 10 Jan 2020 14:16:30 -0800 Subject: [PATCH] qcacmn: SAP is not advertising 20TU probe response SAP not advertising 20TU probe response when FILS Discovery is disbaled through ini. Updated WMI fields to enable 20TU probe response when 6Ghz SAP is operating. Change-Id: Idc4b95047d2149f68a68a434afda4d325a5d0547 CRs-Fixed: 2600485 --- umac/mlme/vdev_mgr/core/src/vdev_mgr_ops.c | 8 ++++++-- .../dispatcher/inc/wlan_vdev_mgr_tgt_if_tx_defs.h | 5 +++-- wmi/src/wmi_unified_tlv.c | 6 ++++-- 3 files changed, 13 insertions(+), 6 deletions(-) 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 e4bac19746d8..f19e6576f4ce 100644 --- a/umac/mlme/vdev_mgr/core/src/vdev_mgr_ops.c +++ b/umac/mlme/vdev_mgr/core/src/vdev_mgr_ops.c @@ -379,11 +379,15 @@ QDF_STATUS vdev_mgr_up_send(struct vdev_mlme_obj *mlme_obj) 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); - fils_param.fd_period = DEFAULT_FILS_DISCOVERY_PERIOD; + if (is_6g_sap_fd_enabled) { + fils_param.fd_period = DEFAULT_FILS_DISCOVERY_PERIOD; + } else { + fils_param.send_prb_rsp_frame = true; + fils_param.fd_period = DEFAULT_PROBE_RESP_PERIOD; + } status = tgt_vdev_mgr_fils_enable_send(mlme_obj, &fils_param); } 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 189115576fa7..26caab3951f6 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 @@ -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 @@ -298,8 +298,9 @@ struct peer_flush_params { uint8_t peer_mac[QDF_MAC_ADDR_SIZE]; }; -/* Default FILS DISCOVERY sent in period of 20TU */ +/* Default FILS DISCOVERY/probe response sent in period of 20TU */ #define DEFAULT_FILS_DISCOVERY_PERIOD 20 +#define DEFAULT_PROBE_RESP_PERIOD 20 /** * struct config_fils_params - FILS config params diff --git a/wmi/src/wmi_unified_tlv.c b/wmi/src/wmi_unified_tlv.c index 65ff95f9a5fe..e5d54051c1f4 100644 --- a/wmi/src/wmi_unified_tlv.c +++ b/wmi/src/wmi_unified_tlv.c @@ -12337,8 +12337,10 @@ send_vdev_fils_enable_cmd_send(struct wmi_unified *wmi_handle, (wmi_enable_fils_cmd_fixed_param)); cmd->vdev_id = param->vdev_id; cmd->fd_period = param->fd_period; - WMI_LOGD("%s: vdev id: %d fd_period: %d", - __func__, cmd->vdev_id, cmd->fd_period); + if (param->send_prb_rsp_frame) + cmd->flags |= WMI_FILS_FLAGS_BITMAP_BCAST_PROBE_RSP; + WMI_LOGD("%s: vdev id: %d fd_period: %d cmd->Flags %d", + __func__, cmd->vdev_id, cmd->fd_period, cmd->flags); wmi_mtrace(WMI_ENABLE_FILS_CMDID, cmd->vdev_id, cmd->fd_period); if (wmi_unified_cmd_send(wmi_handle, buf, len, WMI_ENABLE_FILS_CMDID)) {