Add support for initiate pasn authentication using the vendor
command: QCA_NL80211_VENDOR_SUBCMD_PASN
Fill the below required attributes to initiate PASN:
QCA_WLAN_VENDOR_ATTR_PASN_ACTION
QCA_WLAN_VENDOR_ATTR_PASN_PEERS
QCA_WLAN_VENDOR_ATTR_PASN_PEER_MAC_ADDR
QCA_WLAN_VENDOR_ATTR_PASN_PEER_SRC_ADDR
Change-Id: If33f54eafe5986b4571cc21a80fb0b61578db116
CRs-Fixed: 3232261
Modify the get API that fetches the channel index given a frequency,
from a linear search to a binary search to improve the search time.
CRs-Fixed: 3230932
Change-Id: Id6a1a20d80989a797505772954fb913c4f57d227
Instead of looping through the current channel list, which takes O(N),
use the existing formula to directly convert frequency to
IEEE channel number, which will take O(1). This will reduce the CPU load.
CRs-Fixed: 3230932
Change-Id: I38e3a67c6ef4295cea3a8a57f3a853651445f0b5
Check RSN ie valid or not for beacon or probe response frames
in scanning. The invalid RSN ie will cause the AP filtered out
during candidate selection in connecting.
Change-Id: Id324ddfaa0f438482673e66b683dcf903d9fc0e3
CRs-Fixed: 3218707
When BW Expansion feature is enabled using UCI or cfg80211tool
command, the utility function to set/get the BW Expand feature
is introduced inside DFS module.
A new dfs member dfs_use_bw_expand is used to store the status
of BW Expansion feature.
CRs-Fixed: 3229250
Change-Id: If01e080f8e60e883fbeb2d7dfd599b91584bc293
When the deployment is outdoor, there will be only SP rules for AP and no
LPI rules. But there can be LPI rules for client and when this happens,
master chan list is filled with the LPI rules for client modes. It is
then propagated to super chan list when super chan list is computed.
In AFC, when power/expiry event is received, ol_ath_trigger_acs_for_afc
iscalled. In the path of ol_ath_trigger_acs_for_afc, channels are marked
with IEEE80211_CHAN_NO_IR based on availability using super chan list.
This check is failing as there are LPI client entries in super chan list
with enabled state.
In order to fix this issue, LPI rules must be restricted when filling
master chan list.
Change-Id: I7085c376f78f65c2ff3e2c9ec98d4047b5bff896
CRs-Fixed: 3234395
When operating class 137 (320 MHz width) is filled in the AFC partial
request on a radio that supports upto 160 MHz bandwidth, there is a
crash observed.
The 160 MHz platform on which the issue is reported does not have
enough memory to accommodate a 320 MHz AFC response. Therefore, the
crash happens.
To fix this issue, fill the operating class in the AFC partial request
based on the max_5g_bw sent in the WMI_REG_CHAN_LIST_CC_EXT_EVENT.
Change-Id: I3be0e0aa7dc2a41f987a6725bc74444311408e51
CRs-Fixed: 3238405
The full regdomain pair ETSI15_ETSIC is not split into 5 GHz regdomain
and 2 GHz regdomain. So the corresponding country configuration (country
alpha 'LK') and the regdomain configuration (regdomain id '0x7A')fails.
Add the 5 GHz and 2 GHz regdomain definition for the regdomain pair
ETSI15_ETSIC .
Change-Id: Ia54516cd15d081c315f988bb3c1ecb258b352f05
CRs-Fixed: 3236859
If STA is connected to AP (non MBSS AP), the scm_age_out_entries
try to age out check for APs which are not non-tx AP of MBSS.
But the API doesn't check the current connect AP is MBSS or not
and do the mbssid_info.trans_bssid mac address comparing. So
the check is invalid if both trans_bssid is zero.
Fix by check mbssid_info.profile_num value first and then
trans_bssid field of two scan nodes.
Change-Id: I64ed1eddf0583211a305ba61e1d15a6c674be3fe
CRs-Fixed: 3236072
Currently, separate reg_domain and country_code are defined for
qcacmn and qcacld and add correct enum values for 5 GHz & 2 GHz domains.
Define reg_domain and country_code in reg_db.h and include
reg_db.h to avoid multiple definitions.
Change-Id: Icd1da48a51a107a7b8ba04570d01c44d504492c4
CRs-Fixed: 3206927
The api wlan_mlo_peer_list_peek_head is invoked with lock acquired.
wlan_mlo_peer_create api does not invoke ml_peerlist_lock_acquire
and ml_peerlist_lock_release when invoking api mlo_get_mlpeer, this
causes race condition issue.
To resolve this issue, using api wlan_mlo_get_mlpeer instead of
api mlo_get_mlpeer.
Change-Id: Ifb41b7d83bf17938d210ce5a2d7f370d6355197c
CRs-Fixed: 3228243
Add an API reg_is_supr_entry_mode_disabled to check if
REGULATORY_CHAN_AFC_NOT_DONE is cleared for a given frequency and
input power mode.
Change-Id: I6ca851bbe89e6003d8084856eb30b4796d01616e
CRs-Fixed: 3230917
Set 11az Ranging related extended capabilities over the
wiphy extended capabilities. Mask these fields for SAP iface
Change-Id: Ib6ce92f42d7125b4e9532d5c893ffe955be0f0dc
CRs-Fixed: 3235143
Rate-limiting will be based on number of beacons received.
When the beacon is not from connected AP, the beacons
are dropped on a percentage of received beacons and
rate limit, which is configured by the user.
CRs-Fixed: 3230508
Change-Id: Iac591c37129fda6923ef254c2950cb0bdbb44ce9
A malicious input can cause a buffer over-read in util_find_extn_eid.
When len==2 and frame[TAG_LEN_POS]==0, the while loop will be entered
and an over-read will happen for frame[ELEM_ID_EXTN_POS].
Since both MIN_IE_LEN and ELEM_ID_EXTN_POS are equal to 2, ensure
(len > MIN_IE_LEN) before accessing the index.
Change-Id: Ia0aa8a2b59e8bf9ac06f5454e40687c5c34c5d88
CRs-Fixed: 3236559
During ML IE fragmentaion, the inline copy should account for
increase in size due to difference in destination and source.
This avoids corrupting the buffer beyond the max allowed size.
CRs-Fixed: 3236544
Change-Id: I8114c15accb70fa0c92ee51453dd112875bd09d5
A kernel warning is observed when the reg_rules are sent to the cfg80211
module on a 320mhz supported radio.
On a 320mhz supported radio, for the 5 GHz reg_rule of the 5490-5730 band,
the max_bw initially comes from the target as 240 MHz. Since
reg_modify_max_bw_for_240mhz_5g_chans is called before copying
the reg_rules to psoc, the max_bw is set to 320 MHz. There is a warning
condition the cfg80211 module to check if the max bandwidth is greater
start and end frequency difference. This check causes the warning.
To fix this issue, call reg_modify_max_bw_for_240mhz_5g_chans after
copying the reg_rules to the psoc.
Change-Id: I385971a2f6c849f7cdd17903ff33646f0fa9d47e
CRs-Fixed: 3236069
Supplicant compares AKM(s) in RSN IE of Beacon/Probe response and
AKM on third EAPOL frame received by AP. In the case of multi AKM,
previously Host converts all adaptive 11r AKM(s), if any, present
in RSN IE of Beacon/Probe response to corresponding FT AKM but the
AP(s) which support adaptive 11r (ADAPTIVE_11R_OUI: 0x964000) only
converts first AKM to corresponding FT AKM and sends third EAPOL
frame to DUT. This results in failure in a 4-way handshake in
supplicant due to RSN IE miss-match between RSNIE sent by host
and RSNIE present in third EAPOL frame. Now like AP, the host is
converting only the first AKM to corresponding FT AKM to avoid
RSNIE mismatch in supplicant.
Change-Id: I522c6e313df50c1ef2952ec2e464a107ae739dad
CRs-Fixed: 3230622
Allow peer create and association only when full ACS
scan is complete for any link in an AP MLD.
Change-Id: I54d60f31c2521c87fb715b23fc3e0ea7e6100248
CRs-Fixed: 3232153
-Wimplicit-fallthrough is being enabled by default. Some compilers
such as clang require the attribute instead of just a fallthrough comment.
Change-Id: Idc7c80891aed551db5b6b87eba7b44b6c75ecad3
CRs-Fixed: 3217348
If WLAN_FEATURE_11BE_MLO defined, cm_calculate_raw_rssi_score return 0,
cm_calculate_eht_score return 0 too if eht cap isn't supported,
so rssi score is always 0 if candidate doesn't support eht cap.
Change-Id: Id0a3e92d9255178511cfdfea8649cf6e184b16c2
CRs-Fixed: 3234156
Remove memcpy allocated to get maxbw.
Use the reg_get_min_max_bw_reg_chan_list function
to get directly from regulatory channel.
bonded_chan_ptr2 for channel width 40 removed since its redundantly
calculated in functions
reg_set_5g_channel_params_for_freq/reg_set_5g_channel_params_for_pwrmode.
This helps to reduce cpu overhead by 3% when scan for each beacon
processed.
Change-Id: I89e3c0970ea41c8b86320c2de5b4822dfb27e248
CRs-Fixed: 3229766
Bonded channel information is only till 240 MHz bandwidth for
5 GHz channel. Due to this center channel calculation is going
wrong. Fix this by calculating center frequency from start
frequency in 5 GHz band.
Change-Id: I9d793aface91e8cfb5887ac26b129d3a7953cad4
CRs-Fixed: 3232227
In the current implementation the 6GHz reg rules were copied to the pdev
priv object only for client. Add similar handling for AP targets.
Change-Id: I38386985d48e71cf51be0614dae98f216b9074c3
CRs-Fixed: 3218667
The BW Expansion feature requires Agile SM to run on User
Configured Channel. The User configured Frequency and Phymode
should be stored in DFS structure.
Introduce the following new DFS structure members:
User configured Frequency - dfs_bw_expand_target_freq
User configured mode - dfs_bw_expand_des_mode
The API dfs_is_subset_channel_for_freq is changed from static to
non-static. The API dfs_is_subset_channel_for_freq is needed for
finding the channel to run Agile when Bandwidth Expansion feature
is enabled.
CRs-Fixed: 3221545
Change-Id: If98ab9b3cc2c50fa5acc8e29bd5374830d1adf52
Align with regdomain revision 39 version, add a specific AUTO
regdomain table for automotive platform. Replicate
'Country Mapping for Linux Android' table for 'AUTO' initially.
Change-Id: Ie61bbdc22b4ac369a3a0c64dff1c905fe3342a0e
CRs-Fixed: 3210726
Add management Rx inactivity timer to track the scenario
of no management Rx across MLDs.
CRs-Fixed: 3229245
Change-Id: Ic01782e4cf0eed1a1f87c2b88bcdcdeb2ba3df3f
Track PASN peers only in I-STA mode and not in R-STA mode, as
there is no external authentication request needs to be
triggered in R-STA mode.
Change-Id: I26e107f5db4c923784a3da32649ddadf67a7f901
CRs-Fixed: 3154523
Register OSIF callbacks with Wifi_pos module to initiate PASN
authentication request.
Call cfg80211_pasn_auth_request() to initiate PASN authentication
from wpa_supplicant for the list of secure peers.
Change-Id: I52b9518526f1b04ad520f2f19c7a4caa9b62b6b0
CRs-Fixed: 3149968
1. Change/Add the following country mapping for all(WIN,Linux Android,DSRC)
i) Add new country "BOTSWANA" and map to ETSI13_WORLD.
ii) Add new country "BURUNDI" and map to ETSI13_WORLD.
iii) Add new country "FIJI" and map to APL1_WORLD.
iv) Add new country "GABON" and map to ETSI3_WORLD.
v) Add new country "LAO PEOPLES DEMOCRATIC REPUBLIC" and map to
ETSI13_WORLD.
vi) Add new country "LIBYA" and map to ETSI12_WORLD.
vii) Add new country "ZAMBIA" and map to ETSI13_WORLD.
viii) Change the mapping of RWANDA to ETSI13_WORLD.
ix) Change the mapping of SENEGAL to ETSI1_WORLD.
x) Change the mapping of "VIET NAM" to ETSI15_WORLD and remove 160MHz
disable flag
xi) Change the mapping of "SAUDI ARABIA" to ETSI13_WORLD.
2. Change the following country mapping only for Linux Android
i) Change the mapping of "UNITED KINGDOM" to ETSI18_WORLD.
3. Change (or) Add the following country mapping to Regdomain for 6GHz.
i) Create new Full 6GHz reg domain Hex code 0x0C and map Full 6GHz domain
Hex code 0x0C to countries: AUSTRALIA, CHRISTMAS ISLAND,
HEARD ISLAND AND MCDONALD ISLANDS, NORFOLK ISLAND.
iii) Map full 6GHz reg domain Hex code 02 to countries:BULGARIA, HUNGARY,
JORDAN, QATAR.
iii) Map full 6GHz reg domain Hex code 03 to Hong Kong.
iv) Map Full 6GHz Hex code 05 to LAO PEOPLE'S DEMOCRATIC REPUBLIC.
4. Add the following regulatory database for 2.4/5GHz.
i) Add APL14 "indoor flag" to UNII-1 5150-5250MHz and UNII-2a 5250-5350MHz
ii) Updated APL12 per JORDAN new 5GHz band rule and reserve for
customer use.
iii) For ETSI13, update Max. BW from 320MHz to 160MHz and remove straddle
channels CH144(5720MHz), CH142(5710MHz), CH138(5690MHz) and also 5650
Punctured 1111_1111_1111_0000 channel.
iv) Create new 5GHz Regdomain ETSI18(Hex 0x0E44) and Full 2 & 5GHz
Regdomain ETSI18_WORLD(Hex 0x6E).
v) For Israel, remove straddle channels CH144(5720MHz), CH142(5710MHz),
CH138(5690MHz) from ETSI17.
Change-Id: I7fa7f1e9f3e6fcd6aa6ecd5aa21bd4e82aeb19a0
CRs-Fixed: 3209514
Current max aid assignment doesn't consider start aid
which is causing start aid greater than max aid in
MBSSID MLO case.
This change accounts start aid while updating max aid
Change-Id: Ic6af28cd2599090538393082032932ba416b4c66
CRs-Fixed: 3220059
Management frames originating from links which doesn't require
reordering are not passed through mgmt Rx REO module. This may result in
delayed delivery of frames in the reorder list. Fix this by allowing
such frames to enter mgmt Rx REO module.
CRs-Fixed: 3224128
Change-Id: I94f7bc902acaac959b6bed475413925c266d5557
These utility functions help to parse the Probe Request Variant of
Multi-Link IE.
It implements 11BE draft 2.0 spec
Change-Id: I09dcf47ef481278f5c74082002f83d9c8e2155a4
CRs-Fixed: 3213367
Add a null function for reg_modify_chan_list_for_indoor_channels
as it is not required for AP software.
Change-Id: I420521d66b332a9f2b01097092eeb94cd4301879
CRs-Fixed: 3221590
Prior to receiving the power event, the super channel list is not getting
rightly updated with the REGULATORY_CHAN_AFC_NOT_DONE flag as it is filled
using afc_chan_list which is not filled until the power event is received.
To fix this issue, call reg_assign_afc_chan_entry_to_mas_chan in
reg_update_sup_ch_entry_for_mode only if AFC power event is received.
Now the super channel list is copied from mas_chan_list_6g_ap before the
power event and from afc_chan_list after the power event is received.
These lists have the REGULATORY_CHAN_AFC_NOT_DONE flag updated during
construction. So remove the call to reg_update_6g_chan_for_outdoor as
it is redundant.
Remove the return statement after disabling the out of chip range channels
as it does not get reflected the super channel list. This disabling is
done on local data and it is copied to super chan list only towards the
end of the function.
Change-Id: I725cf41ec3dc68ba9a615752fd170fc7b574aa16
CRs-Fixed: 3216916