Keep track of the global time stamp of the last
management frame delivered to the upper layer.
Drop all the frames older than the last delivered
frame.
CRs-Fixed: 3049671
Change-Id: Ibe0cc239f7af38da63ea8c405b3f89fc9473ea57
Validate the SSID & cache ID if SSID length is present in the
pmksa entry, as in FILS case only SSID and cache id are filled
and BSSID is not filled.
So validate the BSSID only if the SSID is not present.
Change-Id: Ia0a31f953869f00495fad597bb564ec706425312
CRs-Fixed: 3051530
Scenario: In case of STA + STA, NB/SB issues disconnection for
vdev 0 when vdev 1 is in connecting state.
As connection is blocking serialization command and it can try
multiple candidates and can take upto 30+ sec, there is a
chance that disconnect may get timeout and is followed by
vdev delete from osif. This can lead to vdev delete sent
without vdev down/stop and bss peer delete for vdev 0.
So abort connection when trying for candidate if any of the
vdev is waiting for disconnect, to avoid disconnect timeout.
Change-Id: I7ef50b2e870317d2b095dd0385fcbe1c5b86fd20
CRs-Fixed: 3051567
Currently, ML IE address update is missing while copying the beacon data.
This may result in illegal memory access when ML IE accessed from copyied
scan entry after original scan entry got freed.
To avoid this, update ML IE address in new scan entry while copying
scan entry.
Change-Id: I6161481cbd13573b8177f122f7d26d177cc07aaa
CRs-Fixed: 3052302
Do not limit the max length of RSN/WPA IE as they can contain multiple AKM
and CIPHER. We need to consider all the variables to limit the max length.
Change-Id: I204f86d7c773d0c104ad1f58b3648d6c5577af94
CRs-Fixed: 3051247
The API that takes in the input 6G AP power type and updates current
channel list, allows setting the same power type which is not needed and
is a costly operation.
Change-Id: Ia690f40a6796a0db243f0abd15f2eebc8340d1d9
CRs-Fixed: 3051502
The power event received status is set when AFC power event is received
and is reset unconditionally when AFC expiry event received.
Reset AFC power event received status only on receiving AFC expiry event
with sub-type AFC_EXPIRY_EVENT_SWITCH_TO_LPI.
Change-Id: Ib7c1d12cbc2797ddbb19d73fd38d82d100adf3d3
In case when connect req is received while ML connect is in progress,
disconnect is issued with SB_disconnect as source but sb disconnect is
not handler in join active. So, send osif_cfg_disconnect as a source
Change-Id: I9604e23193ba3aef334f0873d2460a992b1914ea
When the frequency ranges and channel frequency indices in the AFC
server response are not the same, the current channel list has
channels enabled, that are absent in the CFIs.
This is because the AFC master channel list is built by intersecting
the frequency ranges in the AFC frequency object and state of the
channels in the SP AP master channel list.
To fix this issue, build the AFC master channel list by intersecting
the frequency ranges in the AFC frequency object and state of the
channels along with the CFIs received in the AFC channel objects from
the target.
Change-Id: I12cc54f90b75b9a7be491e7dd2e9c101be6dd1f6
CRs-Fixed: 3042040
Add 11be D1.0 Mac and Phy capability defines.
Corrected lengths if the capability fields.
Change-Id: I40e2d048946857498c425ca01c3010f255081833
CRs-Fixed: 3025958
The "wmi_pdev_dfs_radar_detection_event" has an unused field "chan_freq".
It currently holds the value of primary 20MHz channel. With the
introduction of 11BE chipsets, this field is changed to hold the value of
the center frequency of the channel width on which the radar is found.
This new change is indicated by a wmi service
"wmi_is_radar_found_chan_freq_eq_center_freq".
For the Chipsets that support this service, the radar found frequency
can be calculated by mere addition of the fields "chan_freq" and
"freq_offset" field.
Change-Id: I8d2ce0023e2feb6e749ca8d7d5f547fafc0fdf98
Add some 11BE files inclusion under feature flag to fix
compilation error when 11BE files are removed.
Change-Id: I809c5a3e3be2b6a7db35fa420714063b730ebe1d
When the AFC dummy server sends the frequency range with only the
UNII-6 channels, the AP still moves to SP and comes up on the
UNII-6 channel.
In reg_fill_max_psd_in_afc_chan_list, the channels are enabled in the
AFC master channel list only based on the frequency ranges present
in the AFC frequency object. There is no condition present to check
if the channels are supported by the reg_rules sent by the target
in the WMI_REG_CHAN_LIST_CC_EXT_EVENT.
To fix this issue, before enabling the channel in AFC master channel
list, check if the channel is also enabled in the SP AP master channel
list.
Change-Id: I2cbe69acf13bff57662f77eeab70e3f3a3240196
CRs-Fixed: 3042428
Currently ML secure connection is failing for second link at STA.
This is because, auth type is not proper in connect request crypto
params. Hence failed to get the partner scan entry with matching
auth type.
To resolve this, reset auth type while preparing partner link connect
request.
Change-Id: Ic291ad4e4405ea2f625c1e47d052166eba21036b
CRs-Fixed: 3040789
1. Initialize the temporary variable to read snapshot to zero.
2. Read correct number of shared snapshot values.
CRs-Fixed: 3026029
Change-Id: I6f4fc9d1d2bfe4818304be16f7c80830b4fb260b
Following are the changes:
1. Add macros relevant to the addition of the 320 MHz root to the preCAC
tree.
2. Adding 320MHz bandwidth in switch case and separating
'case CH_WIDTH_320MHZ' using a compile time macro ( 11BE), forces us
to use the macro inside the function, which is not allowed by the
coding guideline.
Convert the "switch case" mapping (which is generally a binary search)
into a linear search of a mapping (BW -> bonded pair) array , thereby
using the macro WLAN_FEATURE_11BE to separate the 320MHz bandwidth
in the data structure space instead of doing the separation inside
the function space.
Change-Id: Iaab2328deef1cb7b2ff82bafe5d3cd2ea137e725
When processing a peer or southbound disconnect on the non assoc link,
there is a vdev stop issue due to the correct state not being set. For
this link, set the disconnect source as MLO instead of passing it down
from the caller.
Change-Id: I8db444e7c80659a1a1026a53326e99c96ef631f0
CRs-fixed: 3040658
Add an API to check if a given channel width is supported on a given pdev
by looking at its wireless modes.
CRs-Fixed: 3042932
Change-Id: I7194412b147147eba00dbe860875e46dac602b5b
There is a requirement to use REGDMN and wireless modes in UMAC layer of
the cmndev component. As the WMI_HOST_REGDMN modes currently are defined in
WMI layer, we can't use them directly in the UMAC layer. Hence move them
to the reg_services_public_struct.h and rename them as HOST_REGDMN modes.
Replace all WMI_HOST_REGDMN instances with HOST_REGDMN. Wireless modes are
currently defined in WIN component, use them to cmndev component.
CRs-Fixed: 3044590
Change-Id: Iee5fa1745a1a44b834334746b10bdbb6f6563a0a
Fix compilation issues in MLO related code.
Add debug prints when generating link assoc response.
Add NULL value check.
Change-Id: Ie5951816ee39428c086ec91eaa6fc9cf598072b6
CRs-fixed: 3038725
Expose the following APIs from MLO global shared memory handling
- APIs required by the REO logic
- APIs required to invoke the MLO global shared memory parsing
Change-Id: Ia2fb0b0fee5d3904bae8cd70ce3364360d5ea16e
CRs-Fixed: 3014343
Add the following fixes:
-Don't update the SA in mgmt frames when vdev is not operating as
STA
-Set the MLO vdev capability when setting the link address. In
case of non ML connection, this bit should not be set.
Change-Id: I23f8fb8d43afbed687f619c7029893a7d09696d2
CRs-fixed: 3038626
Currently, "agile_precac_active" is set only after receiving the start
event in the init state. "agile_precac_active" indicates whether adfs is
supported in the radio or not. This has to be set based on the agile precac
enabled check when the vap is brought up and when the event
DFS_AGILE_SM_EV_AGILE_START is sent to DFS Agile State Machine.
Change-Id: I2084d6d413ee11fa9f77026326dab79aafcd64fb
STA connection with OWE transition mode SSID fails due to join
failure timeout. Since, it is OWE transition mode, STA needs probe
response for join success.
The scan table entry of the candidate BSSID is sent in the join request.
This entry is used to create session and to send probe request to AP.
In case of OWE transition mode, the beacon carries wildcard SSID.
Therefore, the scan table entry also has wildcard ssid. Also,
during the candidate selection, scm_ignore_ssid_check_for_owe check
allows even entries with wildcard SSIDs to be selected as candiates
for OWE transition mode.
The join request with Wildcard SSID in the scan entry is used by LIM
to create session, as well as to send probe request.Therefore,
the AP doesn't respond to the probe request with wildcard ssid
leading to join failure timeout.
This change adds ssid from connect request to the cm_vdev_join_req,
which can be used by LIM to create session and to send probe request
whenever the SSID in scan entry is wildcard.
Change-Id: If43d7e8a65bc3e37d67e22609932cf18f804f0ab
CRs-Fixed: 3041142
When operating in 20/40MHz modes in channels 52/56/60/64, spur
is found on adjacent channels (40, 44, 48) if we switch to those
channels after radar. To avoid this issue, add a SW WAR to ignore
selecting the adjacent channels if radar is found on the UNII-2
channels (52-64).
Change-Id: I4d02c53bf57171b9e5e5704d36552d0d5c6423b9
During p2p AGO and GC connection, beacon interval of GC doesn't
match with AGO which causes connection failure.
As part of fix, update beacon interval of p2p_cli from scan entry
Change-Id: Icb38d129809dea0ef0645df29723a6315e32b0f5
CRs-Fixed: 3039930
Add or modify the following IEEE 802.11 related definitions for use in
protocol processing code:
- Add individual length definitions for the following initial fields
used in some 802.11 management frames: Timestamp, Beacon Interval,
Capability Information, Listen Interval, Status Code and AID. These
are added so that protocol processing code that needs to skip over
individual fields can refer to the relevant lengths.
- Modify the definitions of assoc request/response IE offsets to use
some of the above individual definitions.
- Add definition of position of element ID extension
- Add element ID for fragment element
- Add definition for size in octets of Link ID Info subfield in Basic
variant Multi-Link element Common Info field.
Change-Id: I272a5f99573b41d7431c8dd782d02bd141813def
CRs-Fixed: 3025500
In IEEE80211 spec, US Opclass is not supporting the 5.9Ghz
channels, therefore whenever 5.9Ghz channels are enabled,
while adding channel switch IE element, if there is no Opclass
available for the destination frequency, then check the Global
Opclass table for the destination frequency and select the
appropriate Opclass number.
Change-Id: I495576555db7dbb6fb5d5a77a3b17ec5b83cf286
CRs-Fixed: 3020692
When the 6G AP comes up on a SP mode, the current channel list has
channel 97 (6435 MHz center frequency) enabled, even though the
BDF reg_rule and AFC frequency object has the range 5925-6425 MHz.
When 6425 is given as the input to reg_find_chan_enum_for_6g, it also
returns the enum corresponding to 6435, which is incorrect.
To fix this issue, add two new functions
reg_find_low_limit_chan_enum_for_6g and
reg_find_high_limit_chan_enum_for_6g to find the lower channel enum and
upper channel enum respectively. In reg_fill_max_psd_in_afc_chan_list,
call reg_find_low_limit_chan_enum_for_6g instead of
reg_find_chan_enum_for_6g to find the lower channel enum, and
call reg_find_high_limit_chan_enum_for_6g to find the right upper
channel enum.
Change-Id: Ib5738242b453e1abf641034240ce019865e46377
CRs-Fixed: 3033667
Add change to handle service_ready for,
1. Ema multi-MBSSID group support
2. Large beacon support greater than 1.5K
CRs-fixed: 3036717
Change-Id: I1c985faf429aacd78ae74fe0ffe18958fd6aa821
As per the spec, the maximum IE length of supported rates are 8 and ext
supported rates are max_rates minus supported rates (=44-8).
In the field, some APs are non-compliance with the spec and includes
12 rates. Due to this, our STAs does not scan and connect to those APs.
To fix this issue, supported rates IE length is already set to 8. Hence,
set extended supported rates IE max len back to 12.
Change-Id: I0d8ce972b08aa28c08a7e797df4208dd36154983
CRs-Fixed: 3036878
Currently the driver checks for the supported rates IE,
and if the length of the IE is greater than 8, the driver
rejects the IE, according to spec.
But some APs supports 12 rates hence are not scanned.
Fix is to have a supported rates IE length check of 12 instead
of 8.
Change-Id: I3e32171e1b089ccc8754872fa5c37ba35b8b2cf7
CRs-Fixed: 3036878
Consider the management frames that are consumed/dropped in the FW and also
the frames that are received at the Host but dropped in lower layers.
The host has the MGMT Rx REO parameters about these frames via WMI events.
There could be frames waiting in the MGMT Rx REO list for the above-said
frames. If we update the waiting frames with the MGMT Rx REO parameters of
the above-said frames, the waiting frames could be released and sent for
processing. Add the logic for the same.
Change-Id: I6be4577d30c4aefe2e964aefbb56472749a90cb4
CRs-Fixed: 2987941
When a management Rx frame enters the MGMT TxRx component, route it to the
MGMT Rx REO module where the REO algorithm decides whether the frame needs
to be processed right away or need to wait for frames on other links.
Change-Id: Ib7ca911dfaeee131fd71d9a4345f5bc720326228
CRs-Fixed: 2987784
Fetch fw capability to support p2p+p2p concurrency and
store cap info in 29th bit of soc_fw_ext_caps.
Change-Id: Id8e4c0310f8db503a2997e8aed5a6f1ce813dcc7
CRs-Fixed: 3032068