Driver doesn't sort the AKM properly based on security
to use for the association. This causes lower secure AKM to be
used when AP advertises multiple AKMs.
Choose more secure AKM for association. Below is the new
changed order of Secure AKMs:
1. FT-FILS SHA384
2. FT-FILS SHA256
3. FILS SHA384
3. FILS SHA256
4. WPA3 FT-SUITE B Sha 384
5. WPA3 802.1x Suite B - 192
6. WPA3 802.1x Suite B
5. WPA3 FT-SAE
6. WPA3 SAE EXT Key
7. WPA3 SAE
8. WPA3 OWE
9. WPA3 DPP
10. WPA2 FT-802.1x
11. WPA2 802.1x SHA256
12. WPA2 802.1x
13. WPA2 FT-PSK SHA384
14. WPA2 PSK SHA384
15. WPA2 PSK SHA256
16. WPA2 FT-PSK
17. WPA2 PSK
Change-Id: I18910b56b15624725ad4fc0cdb0b37ff241e82ff
CRs-Fixed: 3400535
Define a new per vdev capability flag to exclude the sta
profile from MLO IE in unicast probe request frames.
Change-Id: I4486e4efbbb85dfa1e7b9d47326c60c79c974829
CRs-Fixed: 3392086
In the current implementation, the frequency range and maximum
bandwidth of the regulatory rule CHAN_5835_5895_1
are 60 MHz and 80 MHz respectively. Which means that maximum
bandwidth is greater than the frequency range for this rule. But the
kernel does not allow us to have such a rule.
If we change the maximum bandwidth to 40 MHz for this rule, the kernel
warning disappears. However, it introduces a new problem.
If the beginning frequency of rule CHAN_5835_5895_1 matches with the
end frequency of a previous rule, say CHAN_5735_5835_2, then the
function 'reg_do_auto_bw_correction' cannot stitch them (the rules)
properly as it simply adds the max bandwidths the two rules.
In this case, if the maximum bandwidth was reduced from 80 MHz to
40 MHz and previous rule's maximum bandwidth was 80 MHz and
the new stitched rule would have 120 MHz as the maximum bandwidth.
We should consider the frequency range of both the rules in order to
achieve the max bandwidth possible. Therefore, use the version of the
function 'reg_do_auto_bw_correction' that already does it.
Change-Id: Ib3cb1a31b6d376b9b02f3d4e6b56cd7b5e6fed3a
CRs-Fixed: 3381553
The kernel-doc script identified many documentation issues in the
umac/cmn_services folder. A series of patches have already fixed most
of the issues on a sub-folder basis, so fix the remaining ones.
Change-Id: Ibdfe9f0c5e8d6ddf9696d66d2a4a31978ff89004
CRs-Fixed: 3403261
Avoid queuing of stale frames into the management
Rx reorder egress list. Instead drop the stale frames
at the entry itself.
CRs-Fixed: 3402325
Change-Id: I80de6311e345feb2518ce7f042c53ffa95d22dfa
When calculate mlo score, partner link congestion score is used wrongly.
Total congestion score after considering both assoc and partner link should
be used.
Change-Id: I6f94fc1bcbfd1adf547dbf519e03524409509260
CRs-Fixed: 3399624
The current channel list alone is not enough to represent the
capability of the chip or device. Given a channel, in many
cases it may be required to know all the power modes that are
supported by this channel.
Update caller APIs to use super channel list. Remove
reg_fill_channel_list, reg_fill_pre320mhz_channel and
reg_fill_channel_list_for_320 to use the super channel list APIs.
Change-Id: I917eb3414b6339678f84eb7cf6e3547ed52b6335
CRs-Fixed: 3360452
Replace callers of wlan_reg_get_5g_bonded_channel_and_state_for_freq to
use super channel list API
wlan_reg_get_5g_bonded_channel_and_state_for_pwrmode in API
wlan_dcs_afc_reduce_bw.
Change-Id: Ie7b5d88f57064d5345699c64f3b7e5ed694a0425
CRs-Fixed: 3397213
Add code to handle new set link state command -
MLO_LINK_FORCE_MODE_ACTIVE_INACTIVE.
Change-Id: I4fad93e9e09309f7e8ac07f2e3c43a0aa6472a3a
CRs-Fixed: 3352970
Reorder list holds incoming frames and frames to be delivered to
upper layers. Split the reorder list into two, ingress list and
egress list. Ingress list stores the incoming management frames
and egress list stores the management frames which are ready to
be delivered to upper layers.
CRs-Fixed: 3386123
Change-Id: I479f5d15bfab40649053b0ee2a0d8c13d80f8bba
Introduce two APIs which will change the RA, DA and BSSID fields
of 802.11 MAC header.
For any non-public action frame, supplicant will send RA, DA and BSSID
with MLD address which needs to be translated to link addresses to
transmit over the air. wlan_mlo_update_action_frame_from_user() API
will do the address translation from MLD to link.
If any non-public action frame is received over the air that needs
to be sent to userspace, the kernel expects MLD address in RA, DA
and BSSID fields. wlan_mlo_update_action_frame_to_user() API will
do the address translation from link to MLD.
Change-Id: Iab93dd1301003b78edf6d619cfbf552afa53ae7a
CRs-Fixed: 3394706
In legacy to MLO roaming case, the link vdev will be
moved from INIT->UP via EV_ROAM event. Similarly, if
the Hand-off fails in host due to host-related handling,
treat the failure as HO-FAILURE and move the link VDEV
SM from UP->INIT directly.
Change-Id: Ia6bfeb958f0302a934d24c9b40fadd4a8f557236
CRs-Fixed: 3389148
1. Enable sub chan DFS type if QCA_DFS_BW_PUNCTURE defined, or all bonded
operation freq will be affected and disabled for nol, puncture can't work,
always need to switch freq.
2. Find nearest puncture pattern for a bitmap.
For example, SAP started with channel width 320 MHz, if only 20 MHz freq
affected by radar, 320 + 20 puncture pattern is invalid, but puncture
pattern 320 + 40 can be used.
3. Fix build issue when QCA_DFS_BW_PUNCTURE defined as following.
error: incompatible pointer types passing 'qdf_freq_t[16]' (aka
'unsigned int[16]') to parameter of type 'uint16_t *' (aka 'unsigned
short *')
Change-Id: I374ed76c6a13ef5fac1a78073f1b8974b0a9bb30
CRs-Fixed: 3386020
The kernel-doc script identified some documentation issues in the
umac/cmn_services/crypto folder, so fix them. In addition there are
multiple instances of both the interface and the implementation being
documented, so remove the duplicates, keeping just the interface
documentation.
Change-Id: Ied5bfcdff185d0b144f8c41affb5adcb3b8a5b88
CRs-Fixed: 3394398
Initialize whole char array elements instead of initializing
just the first element in an array.
Fixed below compiler optimization error:
error: suggest braces around initialization of subobject.
[-Werror,-Wmissing-braces]
Change-Id: I103d95274e654cb7d232775cf7986a772741a152
CRs-Fixed: 3357183
As function is defined under compile time macro, also
export the symbol under the same macro.
Change-Id: Id2eba221dcb9c6d8cd7503e9d473199a50508309
CRs-Fixed: 3357183
Add API to stop link reconfig timer on vdev or ml dev.
Add API to query the reconfig timer state.
Change-Id: I729d403122e4e84cdf0dced21c49176397e10e5d
CRs-Fixed: 3352937
In case of handling disconnect while sta is connected, if previous
connection is non-ml and a new connect is received with ml
connection on partner link then disconnect request on connected link
is getting ignored.
Fix to add mlo peer check in disconnect handling.
Change-Id: I456b45a080375b93ce209300bf7719e9e53733dc
CRs-Fixed: 3394233
The kernel-doc script identified some documentation errors in the
umac/dfs folder, so fix them.
Change-Id: Ia86989a39fe502480e2d2358a6f23759f78707e0
CRs-Fixed: 3382430
When calculating 6 GHz Opclasses and channels through API
reg_dmn_get_6g_opclasses_and_channels, memory allocation
is performed based on number of opclasses.
In some cases if the number of opclasses is zero, we
try to memory allocate for 0 bytes resulting in error
in console.
To avoid this issue, verify that the number of opclasses
is non-zero before performing the allocation.
Change-Id: Ieae85130eb77c9637153ae1505c9d9b578e0bf2e
CRs-Fixed: 3379534
In suspend mode, driver issues the PNO scan with frequency list to
firmware. Currently, for 6 GHz PNO scan, driver adds the RNR flag
for non-PSC channels and sent the scan request to firmware. But
firmware is unable to scan for non-PSC frequencies as 2.4 GHz and
5 GHz frequencies are not present in the frequency list.
So, to fix this, driver exempts the addition of RNR flag for
non-PSC channel in PNO scan.
Change-Id: If2403586460f9da1647bc904027ed738e255af22
CRs-Fixed: 3384972
The current channel list alone is not enough to represent the
capability of the chip or device. Given a channel, in many
cases it may be required to know all the power modes that are
supported by this channel.
Replace the references of "reg_get_5g_bonded_channel_for_freq"
with "reg_get_5g_bonded_channel_for_pwrmode".
Change-Id: I4c978c7f938b14d79d0eadf4251a86a9165f496e
CRs-Fixed: 3147900
The current channel list alone is not enough to represent the
capability of the chip or device. Given a channel, in many
cases it may be required to know all the power modes that are
supported by this channel.
Update API to use supper channel list.
Remove reg_get_5g_bonded_chan_array_for_freq API to use the
super channel API reg_get_5g_bonded_chan_array_for_pwrmode
Change-Id: I4714ae628add81de776bfaec07756df56f27094f
CRs-Fixed: 3143152
When Scan db reaches max size, driver deletes the oldest node,
so chances are that BSS on 1st freq scanned is removed.
This lead to scan for SSID, which will do a scan again on
all freqs, and thus we end up in flushing the entry again.
TO fix this use freq hint to scan for ssid to quickly find the
AP so that required AP remains in scan database as it will
be the latest entry.
Change-Id: I28849ee97ff1f492d372870c362288206c4ec9a5
CRs-Fixed: 3392831
In Multi-Chip MLO, FW is having memory constrain
while increasing the maximum supported MLO LINKS.
Reduce the values to avoid memory issue in FW
Change-Id: Id191f45f25de915e88ed1e12ae56d4a6e7b7095f
CRs-Fixed: 3391537
RSNXE bits are modified in the recent draft. Rename
WLAN_RSNX_CAPAB_PROT_RANGE_NEG to WLAN_RSNX_CAPAB_URNM_MFPR
and the bit position is changed to 15 instead of 10.
Change-Id: Iebca652a952b338f0533023581ebe45bc0aae452
CRs-Fixed: 3387173
The kernel-doc script has identified documentation issues in the
umac/cmn_services/regulatory folder, so fix them.
Change-Id: I134c0692507f58e2c9b13d71bec74d57a566a91c
CRs-Fixed: 3390471
The regulatory API reg_get_bonded_chan_entry() does not print the input
parameter "cen320_freq" which indicates the 320 MHz center frequency and is
used in 11be regulatory calls.
Add the parameter "cen320_freq" in the existing regulatory debug print for
the API.
Change-Id: I9edec5855326e78b6898d3a443d96d938fbfe44f
CRs-Fixed: 3369874
The kernel-doc script identified some documentation issues in the
umac/cmn_services/sm_engine folder, so fix them.
Change-Id: I08e56fabac869555719230c53537a8cd671ca4e5
CRs-Fixed: 3390481
The kernel-doc script identified some documentation issues in
umac/mlo_mgr, so fix most of them. However some issues are due to
kernel-doc being unable to parse the qdf_bitmap() macro, so disable
kernel-doc in those cases.
Change-Id: I1c32ffae58aedbbafa2ab4c9e4faa33c426ea7b5
CRs-Fixed: 3380021
The kernel-doc script identified some documentation issues in the
umac/cmn_services/serialization folder, so fix most of them. However
one issue is due to kernel-doc being unable to parse the qdf_bitmap()
macro, so disable kernel-doc in that case.
Change-Id: I4b579891db315484b465322e9f9e5fe2564f8909
CRs-Fixed: 3390576
The kernel-doc script identified some documentation issues in the
umac/cmn_services/interface_mgr folder, so fix them.
Change-Id: I699fd75a0827324872da4ca6a3be13a5ebcfda37
CRs-Fixed: 3390584
The kernel-doc script identified some documentation issues in the
umac/cmn_services/utils folder, all in wlan_utility.h, so fix them.
Change-Id: I91763c8103083b75dd26aa21b254f45de793b8b6
CRs-Fixed: 3390582
The current channel list alone is not enough to represent the
capability of the chip or device. Given a channel, in many
cases it may be required to know all the power modes that are
supported by this channel.
Update callers of reg_is_chan_supported with super channel list.
reg_is_chan_supported to use the super channel list API
reg_is_chan_supported_for_pwrmode.
Change-Id: I5d33f7bb0bee6012c28d35e6138f5a03525c33ca
CRs-Fixed: 3357157
There are two different name with different range of value for
aliasing INI's.
So, it should pick the valid range of value wrt INI name.
Change-Id: I81ece854a2d8b34f232e03c8ab835161d58c56b1
CRs-Fixed: 3355346
The current channel list alone is not enough to represent the
capability of the chip or device. Given a channel, in many
cases it may be required to know all the power modes that are
supported by this channel.
Update caller APIs to use super channel list. Removed
wlan_reg_get_bonded_channel_state_for_freq and
wlan_reg_get_5g_bonded_channel_and_state_for_freq to use the
super channel API wlan_reg_get_bonded_channel_state_for_pwrmode
and wlan_reg_get_5g_bonded_channel_and_state_for_pwrmode
respectively
Change-Id: If51bd130892cd712f5a218067a5d321e874e134a
CRs-Fixed: 3357153
The current channel list alone is not enough to represent the
capability of the chip or device. Given a channel, in many
cases it may be required to know all the power modes that are
supported by this channel.
Remove reg_get_5g_bonded_channel_state_for_freq,
wlan_reg_get_5g_bonded_channel_state_for_freq and
reg_update_5g_bonded_channel_state_punc_for_freq APIs to use the
super channel APIs reg_get_5g_bonded_channel_state_for_pwrmode,
wlan_reg_get_5g_bonded_channel_state_for_pwrmode and
reg_update_5g_bonded_channel_state_punc_for_pwrmode.
Change-Id: I895d70d3a07e239500f97b9ab7884d7723de5080
CRs-Fixed: 3144661
In case of handling disconnect while sta is connected, if previous
connection is non-ml and a new connect is received with ml
connection then disconnect request is getting ignored.
Fix to add mlo peer check in validating disconnect
Change-Id: I037854f2b4f16e17b8cc75d8a27f5806ed5f783a
CRs-Fixed: 3387398
Reduce logging level to debug for certain error log prints
in regulatory APIs to decrease console logging.
Change-Id: I35d27fa08269c48b097f0a0811612e8191f723eb
CRs-Fixed: 3389491
Currently, the definition of WMI_ROAM_GET_VENDOR_CONTROL_PARAM_ID
is present at the fw-api level. The host should not be using fw-api
definitions outside the WMI TLV code. To make sure it, Add
host-defined enum vendor_control_roam_param which defines the param
IDs that the host supports.
Change-Id: I0aaba99c1af7c7c50a62f9bc763d0968c3a3a99c
CRs-Fixed: 3366594