Introduce the following new WCNSS_qcom.ini values:
"enable_bss_load_roam_trigger"
"bss_load_threshold"
Send these values over the new wmi command,
WMI_ROAM_BSS_LOAD_CONFIG_CMDID if "enable_bss_load_roam_trigger"
is set to true.
This wmi command will be sent to firmware as part of the RSO
start or update config.
Change-Id: Ib2e21904bc7b8d87e5f51824d2694b90a3ac53f2
CRs-Fixed: 2367770
NDI Create from upper layers also does a start bss with the
channel specified with INI "gnan_datapath_ndi_channel". It
defaults to channel 6 if no value is specified. For targets
with 2x2 DBS MAC Configuration this cannot happen without
a DBS mode change. Since this channel is not indicative of
the actual NDI channel, send a 5GHz NAN Social channel for
the BSS start to avoid the DBS mode change.
Send 5GHz NAN Social channel for NDI bss start and remove
the corresponding INI.
Change-Id: I40428f5eb4071f7c1d3934c6279316aad8082c03
CRs-Fixed: 2364619
One of the HDD functions with the highest cyclomatic complexity is
__wlan_hdd_cfg80211_wifi_configuration_set(). In order to reduce the
complexity there is a plan to replace the inline attribute handling
with a vtable-based approach.
As part of that goal refactor the following independent attribute
handling into a separate function and add that function to the vtable:
- QCA_WLAN_VENDOR_ATTR_CONFIG_GTX
Change-Id: Ie64612653b55a3c75d035612d7a4a06cf5a1e772
CRs-Fixed: 2371588
One of the HDD functions with the highest cyclomatic complexity is
__wlan_hdd_cfg80211_wifi_configuration_set(). In order to reduce the
complexity there is a plan to replace the inline attribute handling
with a vtable-based approach.
As part of that goal refactor the following independent attribute
handling into a separate function and add that function to the vtable:
- QCA_WLAN_VENDOR_ATTR_CONFIG_RSN_IE
Change-Id: Ib513fce2a797a31fe9c81bcc3e142b61db972d30
CRs-Fixed: 2371587
One of the HDD functions with the highest cyclomatic complexity is
__wlan_hdd_cfg80211_wifi_configuration_set(). In order to reduce the
complexity there is a plan to replace the inline attribute handling
with a vtable-based approach.
As part of that goal refactor the following independent attribute
handling into a separate function and add that function to the vtable:
- QCA_WLAN_VENDOR_ATTR_CONFIG_DISABLE_FILS
Change-Id: I297dafc0282168fe71824fe1dd40635738d90bc8
CRs-Fixed: 2371586
One of the HDD functions with the highest cyclomatic complexity is
__wlan_hdd_cfg80211_wifi_configuration_set(). In order to reduce the
complexity there is a plan to replace the inline attribute handling
with a vtable-based approach.
As part of that goal refactor the following independent attribute
handling into a separate function and add that function to the vtable:
- QCA_WLAN_VENDOR_ATTR_CONFIG_LATENCY_LEVEL
Change-Id: I84ea1d02a91a08ac3c2bd8d020ecdc05176d1668
CRs-Fixed: 2371584
One of the HDD functions with the highest cyclomatic complexity is
__wlan_hdd_cfg80211_wifi_configuration_set(). In order to reduce the
complexity there is a plan to replace the inline attribute handling
with a vtable-based approach.
As part of that goal refactor the following independent attribute
handling into a separate function and add that function to the vtable:
- QCA_WLAN_VENDOR_ATTR_CONFIG_TOTAL_BEACON_MISS_COUNT
Change-Id: I6d88ed8e258d9abba74b56907f9fe3a6fef8b473
CRs-Fixed: 2371583
One of the HDD functions with the highest cyclomatic complexity is
__wlan_hdd_cfg80211_wifi_configuration_set(). In order to reduce the
complexity there is a plan to replace the inline attribute handling
with a vtable-based approach.
As part of that goal refactor the following independent attribute
handling into a separate function and add that function to the vtable:
- QCA_WLAN_VENDOR_ATTR_CONFIG_ANT_DIV_SELFTEST_INTVL
Change-Id: Idbc5c370913e80a9ad17c9eee3fc08bac7f3f31e
CRs-Fixed: 2371585
One of the HDD functions with the highest cyclomatic complexity is
__wlan_hdd_cfg80211_wifi_configuration_set(). In order to reduce the
complexity there is a plan to replace the inline attribute handling
with a vtable-based approach.
As part of that goal refactor the following independent attribute
handling into a separate function and add that function to the vtable:
- QCA_WLAN_VENDOR_ATTR_CONFIG_ANT_DIV_SELFTEST
Change-Id: Ic6aa338894c39f9d047d064c7752b8d3d4c9b042
CRs-Fixed: 2371582
One of the HDD functions with the highest cyclomatic complexity is
__wlan_hdd_cfg80211_wifi_configuration_set(). In order to reduce the
complexity there is a plan to replace the inline attribute handling
with a vtable-based approach.
As part of that goal refactor the following independent attribute
handling into a separate function and add that function to the vtable:
- QCA_WLAN_VENDOR_ATTR_CONFIG_ANT_DIV_CHAIN
Change-Id: I0c63c70de5a7c607f55313acebb7c9fbf8e8ac9d
CRs-Fixed: 2371581
One of the HDD functions with the highest cyclomatic complexity is
__wlan_hdd_cfg80211_wifi_configuration_set(). In order to reduce the
complexity there is a plan to replace the inline attribute handling
with a vtable-based approach.
As part of that goal refactor the following independent attribute
handling into a separate function and add that function to the vtable:
- QCA_WLAN_VENDOR_ATTR_CONFIG_RESTRICT_OFFCHANNEL
Change-Id: I34d7a8a3526a80f5cdbe2bab4a663a0f41b6a4d7
CRs-Fixed: 2371580
One of the HDD functions with the highest cyclomatic complexity is
__wlan_hdd_cfg80211_wifi_configuration_set(). In order to reduce the
complexity there is a plan to replace the inline attribute handling
with a vtable-based approach.
As part of that goal refactor the following independent attribute
handling into a separate function and add that function to the vtable:
- QCA_WLAN_VENDOR_ATTR_CONFIG_ANT_DIV_PROBE_DWELL_TIME
Change-Id: I43e07645a7d5ce242fd97d477764fdfb3cd6d1a5
CRs-Fixed: 2371579
One of the HDD functions with the highest cyclomatic complexity is
__wlan_hdd_cfg80211_wifi_configuration_set(). In order to reduce the
complexity there is a plan to replace the inline attribute handling
with a vtable-based approach.
As part of that goal refactor the following independent attribute
handling into a separate function and add that function to the vtable:
- QCA_WLAN_VENDOR_ATTR_CONFIG_ANT_DIV_SNR_DIFF
Change-Id: I1fa384b98c276ab5cf09c96d8d47be9fc0a93acd
CRs-Fixed: 2371578
One of the HDD functions with the highest cyclomatic complexity is
__wlan_hdd_cfg80211_wifi_configuration_set(). In order to reduce the
complexity there is a plan to replace the inline attribute handling
with a vtable-based approach.
As part of that goal refactor the following independent attribute
handling into a separate function and add that function to the vtable:
- QCA_WLAN_VENDOR_ATTR_CONFIG_IGNORE_ASSOC_DISALLOWED
Change-Id: I3f91195a7b26ea248d57f608936e79761890dc1b
CRs-Fixed: 2371577
One of the HDD functions with the highest cyclomatic complexity is
__wlan_hdd_cfg80211_wifi_configuration_set(). In order to reduce the
complexity there is a plan to replace the inline attribute handling
with a vtable-based approach.
As part of that goal refactor the following independent attribute
handling into a separate function and add that function to the vtable:
- QCA_WLAN_VENDOR_ATTR_CONFIG_ANT_DIV_ENA
Change-Id: I7bd2652db54c71645a8292ab36775682e5a32250
CRs-Fixed: 2371575
One of the HDD functions with the highest cyclomatic complexity is
__wlan_hdd_cfg80211_wifi_configuration_set(). In order to reduce the
complexity there is a plan to replace the inline attribute handling
with a vtable-based approach.
As part of that goal refactor the following independent attribute
handling into a separate function and add that function to the vtable:
- QCA_WLAN_VENDOR_ATTR_CONFIG_CHANNEL_AVOIDANCE_IND
Change-Id: Ie5252620221a77c82a03f74eaa14dfaa22b5476a
CRs-Fixed: 2371576
One of the HDD functions with the highest cyclomatic complexity is
__wlan_hdd_cfg80211_wifi_configuration_set(). In order to reduce the
complexity there is a plan to replace the inline attribute handling
with a vtable-based approach.
As part of that goal refactor the following independent attribute
handling into a separate function and add that function to the vtable:
- QCA_WLAN_VENDOR_ATTR_CONFIG_TX_FAIL_COUNT
Change-Id: I138b6cee0df42a8ca375092eccc103412544ba2a
CRs-Fixed: 2371574
One of the HDD functions with the highest cyclomatic complexity is
__wlan_hdd_cfg80211_wifi_configuration_set(). In order to reduce the
complexity there is a plan to replace the inline attribute handling
with a vtable-based approach.
As part of that goal refactor the following independent attribute
handling into a separate function and add that function to the vtable:
- QCA_WLAN_VENDOR_ATTR_CONFIG_PROPAGATION_ABS_DELAY
Change-Id: I789a46ab7baf2719de25c7e3c1531192c3e663a7
CRs-Fixed: 2371573
One of the HDD functions with the highest cyclomatic complexity is
__wlan_hdd_cfg80211_wifi_configuration_set(). In order to reduce the
complexity there is a plan to replace the inline attribute handling
with a vtable-based approach.
As part of that goal refactor the following independent attribute
handling into a separate function and add that function to the vtable:
- QCA_WLAN_VENDOR_ATTR_CONFIG_PROPAGATION_DELAY
Change-Id: I3457a98592164d83db09f20b9e63d28bc8429055
CRs-Fixed: 2371572
One of the HDD functions with the highest cyclomatic complexity is
__wlan_hdd_cfg80211_wifi_configuration_set(). In order to reduce the
complexity there is a plan to replace the inline attribute handling
with a vtable-based approach.
As part of that goal refactor the following independent attribute
handling into a separate function and add that function to the vtable:
- QCA_WLAN_VENDOR_ATTR_CONFIG_CTRL_RETRY
Change-Id: Id54483ced3505e28a5db3d05fb3afc4c0c7a1ff9
CRs-Fixed: 2371571
One of the HDD functions with the highest cyclomatic complexity is
__wlan_hdd_cfg80211_wifi_configuration_set(). In order to reduce the
complexity there is a plan to replace the inline attribute handling
with a vtable-based approach.
As part of that goal refactor the following independent attribute
handling into a separate function and add that function to the vtable:
- QCA_WLAN_VENDOR_ATTR_CONFIG_MGMT_RETRY
Change-Id: I19af4fa260bd837b55dc0ac38ef7556e5f181c13
CRs-Fixed: 2371570
One of the HDD functions with the highest cyclomatic complexity is
__wlan_hdd_cfg80211_wifi_configuration_set(). In order to reduce the
complexity there is a plan to replace the inline attribute handling
with a vtable-based approach.
As part of that goal refactor the following independent attribute
handling into a separate function and add that function to the vtable:
- QCA_WLAN_VENDOR_ATTR_CONFIG_AGG_RETRY
Change-Id: Ibda27586afb6daf7745c2a98cb947a22975e0453
CRs-Fixed: 2371569
Driver is updating center_frequency_2 in case of channel width
80MHz, 80+80MHz and 160MHz in channel change notification to
hostapd.
Since center_frequency_2 gets used only in case of 80+80 MHz,
update center_freq_2 only for 80+80 MHz.
Change-Id: If66f205eac0c81bbb7a2954c05b2e3d5618ff8f8
CRs-Fixed: 2372039
Currently in driver at load time if probe fails because
of any reason, as part of FW down, recovery in progress
flag is getting set which is getting reset only in re-init
path. Now when probe starts again as this was load time
failure, this flag is set and there are checks at many
places for this flag in driver where we just don't proceed
further if this flag is set.
One such example of such incident is reg_process_master_chan_list
api where regulatory event is not getting processed because this
flag is set.
To resolve this issue reset recovery in progress flag during probe.
There is no harm in resetting the flag during probe as probe start
indicates that FW is ready.
Change-Id: Ib681870f869060f4511563aa3255aeb0eb8f9f12
CRs-Fixed: 2365416
If ecsa timeout is active and stop bss is received. During
pe delete session the timer is stopped and destroyed. But if
if timer has already expired and has posted the message to MC
thread the timer callback will be called with pe session which
is already deleted.
Fix this by checking if of pe session is valid in timeout API.
Also reset dfsIncludeChanSwIe during pe delete session.
Change-Id: I67d7e65c8136daaa04afa8b01b7019b0b8b36dae
CRs-Fixed: 2372278
The driver currently defines two different data structures to hold
Delete Tspec parameters:
- tDelTsParams
- struct del_ts_param
In this case having two different structures to provide the same
functionality is pointless. Furthermore, due to the way in which these
structures are used, there is an implicit requirement that they be
exactly identical. This approach is very fragile. To align with the
converged software architecture and to improve code maintainability
remove the legacy typedef and exclusively use the unified WMI
structure.
Change-Id: Ia70b1e17e4446259ff32107ffbc11646d078e1c0
CRs-Fixed: 2371915
The driver currently defines two different data structures to hold
Add Tspec parameters:
- tAddTsParams
- struct add_ts_param
In this case having two different structures to provide the same
functionality is pointless. Furthermore, due to the way in which these
structures are used, there is an implicit requirement that they be
exactly identical. This approach is very fragile. To align with the
converged software architecture and to improve code maintainability
remove the legacy typedef and exclusively use the unified WMI
structure.
Change-Id: I298202748b8a0f6c2a9f8a36ca7cdee071d000bf
CRs-Fixed: 2371914
The driver currently defines two different data structures to hold
Delete Tspec Request parameters:
- tSirDeltsReqInfo
- struct delts_req_info
In this case having two different structures to provide the same
functionality is pointless. Furthermore, due to the way in which these
structures are used, there is an implicit requirement that they be
exactly identical. This approach is very fragile. To align with the
converged software architecture and to improve code maintainability
remove the legacy typedef and exclusively use the unified WMI
structure.
Change-Id: I0951c8da636bcbf81a335c0ea1250d721ca5c573
CRs-Fixed: 2371913
The driver currently defines two different data structures to hold
aggregate AddTspec parameters:
- tAggrAddTsParams
- struct aggr_add_ts_param
In this case having two different structures to provide the same
functionality is pointless. Furthermore, due to the way in which these
structures are used, there is an implicit requirement that they be
exactly identical. This approach is very fragile. To align with the
converged software architecture and to improve code maintainability
remove the legacy typedef and exclusively use the unified WMI
structure.
Change-Id: I960bd79b04838ac675ad49e332a47671faccaaa7
CRs-Fixed: 2371912
The driver currently defines two different data structures to hold
a TSpec IE field:
- tSirMacTspecIE
- struct mac_tspec_ie
In this case having two different structures to provide the same
functionality is pointless. Furthermore, due to the way in which these
structures are used, there is an implicit requirement that they be
exactly identical. This approach is very fragile. To align with the
converged software architecture and to improve code maintainability
remove the legacy typedef and exclusively use the unified WMI
structure.
Change-Id: I2e9da1d72dae3c4b0baa13306ee7ec127895a4f2
CRs-Fixed: 2371911
The driver currently defines two different data structures to hold
a TS Info field:
- tSirMacTSInfo
- struct mac_ts_info
In this case having two different structures to provide the same
functionality is pointless. Furthermore, due to the way in which these
structures are used, there is an implicit requirement that they be
exactly identical. This approach is very fragile. To align with the
converged software architecture and to improve code maintainability
remove the legacy typedef and exclusively use the unified WMI
structure.
Change-Id: I95bcb4364ee7e3108137c8ceeedf05c7a53bc393
CRs-Fixed: 2371910
The function name lim_process_ft_aggr_qo_s_rsp() is mangled,
originally produced by automated camelCase conversion. Rename to
lim_process_ft_aggr_qos_rsp() to make more sense.
Change-Id: I8ca5888594d4384020d14804524f9a669ae8de08
CRs-Fixed: 2371909
Currently the driver doesn't set the passive scan req flag
as false which results in passive scan, and thus introduces
latency.
Fix is to set passive scan as false in ACS scan req.
Change-Id: I1274a4ccb9d99d568c32aeea1a65e4637a82b9c8
CRs-Fixed: 2372103
In avoid frequency vendor command, only data validation is
being done but each individual channel is not getting validated
which may lead to an array out of bound access as the array
which is used to cache the channels has the size of valid number
of channels.
To avoid this, add a check to validate each channel before
updating the unsafe channel list array.
Change-ID: I433e9297207869e43d1a6ee2d621bded2f562656
CRs-Fixed: 2341890
RA filter is getting configured while APF is supported.
Since APF implementation internally handles RA filtering,
this is not needed. Therefore if APF is enabled in INI
and target supports it, do not configure RA filtering.
Don't configure RA filtering when APF is supported.
Change-Id: Iabb75b46fce64b2c4a7a303848d7cb6b4714253b
CRs-Fixed: 2352248
Add host support for db2dbm RSSI changes. Firmware
indicates this capability when underlying hardware
has RSSI reporting feature. Based on this capability
host will know if firmware sends SNR or RSSI. If no
capablity is present then host will convert SNR to
rssi using a fixed offset of -96. If capability is
present host will directly use the rssi as it is.
Change-Id: I9058f16c6280d466feb96cf88a8a0d8cd7b02032
CRs-Fixed: 2364023