From ee3eefe3953b9f58fc5dd9559fbbbabdcef026bc Mon Sep 17 00:00:00 2001 From: Pragaspathi Thilagaraj Date: Tue, 4 May 2021 19:01:51 +0530 Subject: [PATCH] qcacld-3.0: Fill default CFR NSS/BW values during start capture Currently if the userspace doesnt send the NSS/BW values, then the filter_set_valid_mask flag is not set in the WMI_CFR_CAPTURE_FILTER_CMDID command. So the target doesnt configure the BW and NSS filter in HW leading to frames getting filtered out. Fill default CFR capture NSS and BW values during start capture. Change-Id: I46004aa38c09dec8995fff84a3e699581675221b CRs-Fixed: 2932529 --- core/hdd/src/wlan_hdd_cfr.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/core/hdd/src/wlan_hdd_cfr.c b/core/hdd/src/wlan_hdd_cfr.c index 48004420f14e..2595e6900dd3 100644 --- a/core/hdd/src/wlan_hdd_cfr.c +++ b/core/hdd/src/wlan_hdd_cfr.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020, The Linux Foundation. All rights reserved. + * Copyright (c) 2021, 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 above @@ -73,6 +73,9 @@ const struct nla_policy cfr_config_policy[ }; #ifdef WLAN_ENH_CFR_ENABLE + +#define DEFAULT_CFR_NSS 0xff +#define DEFAULT_CFR_BW 0xf static QDF_STATUS wlan_cfg80211_cfr_set_group_config(struct wlan_objmgr_vdev *vdev, struct nlattr *tb[]) @@ -130,12 +133,14 @@ wlan_cfg80211_cfr_set_group_config(struct wlan_objmgr_vdev *vdev, ucfg_cfr_set_tara_config(vdev, ¶ms); } + params.nss = DEFAULT_CFR_NSS; if (tb[QCA_WLAN_VENDOR_ATTR_PEER_CFR_GROUP_NSS]) { params.nss = nla_get_u32(tb[ QCA_WLAN_VENDOR_ATTR_PEER_CFR_GROUP_NSS]); hdd_debug("nss %d", params.nss); } + params.bw = DEFAULT_CFR_BW; if (tb[QCA_WLAN_VENDOR_ATTR_PEER_CFR_GROUP_BW]) { params.bw = nla_get_u32(tb[ QCA_WLAN_VENDOR_ATTR_PEER_CFR_GROUP_BW]); @@ -146,6 +151,7 @@ wlan_cfg80211_cfr_set_group_config(struct wlan_objmgr_vdev *vdev, hdd_debug("set bw nss"); ucfg_cfr_set_bw_nss(vdev, ¶ms); } + if (tb[QCA_WLAN_VENDOR_ATTR_PEER_CFR_GROUP_MGMT_FILTER]) { params.expected_mgmt_subtype = nla_get_u32(tb[ QCA_WLAN_VENDOR_ATTR_PEER_CFR_GROUP_MGMT_FILTER]);