qcacmn: Allow FW to scan 6G chan based on RNR flag only
First host checks below two things in host scan request: 1. Userspace sets NL80211_SCAN_FLAG_COLOCATED_6GHZ flag in host scan request. 2. At least one 6G channel is present in the host scan req. If any of the above conditions satisfies, Host fills all remaining (other than channel(s) present in host scan req) valid 6 GHz channel(s) to scan requests and set the flag FLAG_SCAN_ONLY_IF_RNR_FOUND for each remaining channel(s). Host sends this updated channel list via WMI command WMI_START_SCAN_CMDID_param_tlvs->channel_list for host scan to firmware. With this change, driver allows Firmware to scan 6G channels based on RNR IEs only (for colocated APs reported by 2.4/5 GHz APs). Change-Id: I2d9d2aac58bbc521b2476756d5919647bdc265cc CRs-Fixed: 3103873
This commit is contained in:

committed by
Madan Koyyalamudi

父節點
dffef9958a
當前提交
9c2ce46fc6
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2017-2021 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. 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
|
||||
@@ -1304,6 +1304,27 @@ void wlan_cfg80211_cleanup_scan_queue(struct wlan_objmgr_pdev *pdev,
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* wlan_cfg80211_is_colocated_6ghz_scan_supported() - Check whether colocated
|
||||
* 6ghz scan flag present in scan request or not
|
||||
* @scan_flag: Flags bitmap coming from kernel
|
||||
*
|
||||
* Return: True if colocated 6ghz scan flag present in scan req
|
||||
*/
|
||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 10, 0))
|
||||
static bool
|
||||
wlan_cfg80211_is_colocated_6ghz_scan_supported(uint32_t scan_flag)
|
||||
{
|
||||
return !!(scan_flag & NL80211_SCAN_FLAG_COLOCATED_6GHZ);
|
||||
}
|
||||
#else
|
||||
static inline bool
|
||||
wlan_cfg80211_is_colocated_6ghz_scan_supported(uint32_t scan_flag)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
|
||||
/**
|
||||
* wlan_cfg80211_update_scan_policy_type_flags() - Set scan flags according to
|
||||
* scan request
|
||||
@@ -1323,6 +1344,9 @@ static void wlan_cfg80211_update_scan_policy_type_flags(
|
||||
scan_req->scan_policy_low_span = true;
|
||||
if (req->flags & NL80211_SCAN_FLAG_LOW_POWER)
|
||||
scan_req->scan_policy_low_power = true;
|
||||
|
||||
if (wlan_cfg80211_is_colocated_6ghz_scan_supported(req->flags))
|
||||
scan_req->scan_policy_colocated_6ghz = true;
|
||||
}
|
||||
#else
|
||||
static inline void wlan_cfg80211_update_scan_policy_type_flags(
|
||||
|
Reference in New Issue
Block a user