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)) {