In the scenario about MLO 5 GHz + 6 GHz and 6 GHz is non-tx AP in
MBSSID, if DUT tries to connect 5 GHz link as assoc link and uses
the scan entry generated from 5 GHz beacon. Then there is no info
about profile index and count in the scan entry and these info is
necessary for firmware when vdev up.
To resolve this issue, get the info from 6 GHz scan entry if it
exists.
CRs-Fixed: 3619192
Change-Id: Id18b56ed52055fbd9cdce07d1bb9fd4b20fc1c44
Add support for T2LM status event for connectivity
logging.
For T2LM status event, band, tid_ul and tid_dl are
the parameter used for connectivity logging.
Change-Id: Ifdb763185af88617b90ea761e7d10cc35c628808
CRs-Fixed: 3609648
Currently, when host driver attempting to send the keys
during a link switch, the absence of a key was not handled,
resulting in firmware crashes.
This change is to assert host driver in the event that
no key is found during a link switch.
Change-Id: I7abe452c7dfa1e203c6af563163cf2d5589ab929
CRs-Fixed: 3604274
The item "bss_max_idle_period" is not an ini item and we can only
use it's default value 0. It's not convenient to set it a value
that user required. So set it to an ini item.
Change-Id: Ie514992448cde192ffd6f1402a4477fabbbae741
CRs-Fixed: 3591728
Add support to allow PCIE Gen Speed and Lane width
to be configured by host via OEM data commands.
Change-Id: Ifc4c50bf339639c3f43de1107a8a76a043df8c4b
CRs-Fixed: 3615874
Currently, even if dual sta roam support is not present, RSO
is being enabled for both the STA connections. This leads to
asserts in firmware.
To fix, do not initialize RSO state machine for the second STA
connection, if RSO is enabled for the first STA.
CRs-Fixed: 3612478
Change-Id: I9b7698770dd05139f6323846d78e931db58ce4a8
Introduce support for MLO Reconfig event for connectivity
logging.
In MLO reconfig event, ban and link id are sent for
logging.
Change-Id: I2de6edff91ae344e2d9e11fb89216dab17384980
CRs-Fixed: 3606709
Introduce support to add frequency to peer in
order to enable Connectivity diag logging for
datapath related events
Change-Id: I634ddc0206530f1039a37fd60643877b2fdf7e87
CRs-Fixed: 3596250
Currently, when user connect STA with 2 link AP and sends
"MEASURE_ML_CHANNEL_CONDITION" command to driver, the driver report
error. This is due to driver tries to fetch the link info for
3 link but only 2 link info is available. Hence, it gets invalid
link id for third link.
To fix this, add check for number of links and extract the data for
available links only.
Change-Id: I5a25e0a4c8610703959390b62a530b784b5c766a
CRs-Fixed: 3616274
In the transition of set active and inactive link command,
the max number of disabled vdev number may be 2. To avoid
the overflow the pm_disabled_ml_links array, set array size
to WLAN_UMAC_MLO_MAX_VDEVS.
Change-Id: I71dd7c752062f4a2de67a89a5d655a2c2e6c9e9b
CRs-Fixed: 3618190
Once Host sends force link bitmap command to FW, subsequent
force link num command can’t take effect as force link bitmap
command has the highest priority.
Fix is to send no force cmd before setting hybrid mode in FW.
Change-Id: Iac3e1fe66c9b808b82f6b4feb66f90e169e4897b
CRs-Fixed: 3596656
Connecting event logs are to be sent after candidate
selection and not immediately after receiving
connect request.
Modify the connecting event logs to be sent after
sta info event logs.
Change-Id: I83b654ba0ef3458368ba7dd6353c5ab67077ec39
CRs-Fixed: 3599703
Add support for T2LM request/response event for
connectivity logging.
For T2LM request/response band, token, status, tx_status and
is_rx parameter are logged for the event.
Change-Id: I5d65c99896ec26b67b763679b105036975a938d5
CRs-Fixed: 3607151
Currently, host receive the key in one thread
while simultaneously installing keys in a scheduler thread.
This change aims to resolve the synchronization issue by allowing key
installation only in one thread.
Change-Id: Ia2429db2a48eadf00574eaec99fb0c47f39c6d42
CRs-Fixed: 3609681
When host driver receives CSA event from firmware, lim posts
VDEV_RESTERT request with the CSA info. But the channel
switch operation may fail in further APIs due to any
reason(e.g. channel not valid for switch). Failure status is not
forwarded till lim in such cases as vdev SM always returns
true(success) when it handles the message.
So, the flag doesn't get reset in such cases.
Reset the flag in lim handler of VDEV_RESTART request when it
fails to send VDEV_RESTART command to firmware.
Change-Id: Iceeabd9cab46107ce7e2d14af121b0155c27673c
CRs-Fixed: 3602751
When link switch happens internal disconnect sequence happens on
that vdev, but RSO stop is not sent for assoc vdev during below
scenario:
1. Disconnect gets triggered from userspace when VDEV-0 is in
middle of link switch.
2. At the time of the disconnect, vdev-1 is assoc vdev and vdev-0
is link vdev.
3. For the disconnect request, first disconnect serialization is
posted for assoc vdev(0) and then for link vdev(1).
4. After the serialization is posted, link switch connection
succeeds and vdev-0 again becomes assoc vdev and vdev-1 becomes
link.
5. Now, serialization posted in #4 gets dequeued and assoc vdev
gets cleaned up first.
6. Link vdev-1 gets cleaned up next, and it posts RSO STOP for
assoc vdev and waits for response. However, vdev-0 is already
cleaned up.
7. Therefore, vdev-1 gets stuck in wait-for-rso-stop response
and leads to active command timeout.
RSO start for this assoc vdev will be sent after link switch
is complete when keys are installed.
So send RSO stop for assoc vdev during link switch start
Change-Id: I5563dacef6610fc7039b1d05798edf4b6364eebd
CRs-Fixed: 3612704
Whenever packet capture mode is enabled, all packets are forwarded
to host from firmware which causes frequent wakeups if WOW suspend is
allowed. This leads to flooding of WMI transactions due to WOW
suspend/wakeup and other WMI events due to packet capture mode over CE.
So, to reduce number of WMI transactions due to frequent suspend and
then wakeup due to enablement of packet capture mode, acquire a
wakelock and prevent runtime suspend whenever packet capture mode is
enabled.
Change-Id: I71b73e7327e14890dc8509b81b22e8b5611cbac6
CRs-Fixed: 3603566
Add connectivity logging API to send ML Link state switch
diag event.
When ML link gets enabled/disabled, this event will be
sent.
EVENT_WLAN_MLO_LINK_STATUS is the diag event for ML link
state switch event.
Change-Id: Ie10f1208875f86a5a5892ee2cfb2fabe18f200e4
CRs-Fixed: 3610060
In the MLO-MBSSID test, STA can request information of
non-Tx BSS through Tx BSS by configuring non-Tx BSS MLD ID
within the ML probe request that is invoked as part of scan
request. Add support to configure MLD ID in scan start
params to FW.
Change-Id: Iec5a144e597a7f6b9b741f279e4424f975c5115c
CRs-Fixed: 3561040
Currently, STA cannot perform SR when SAP does not include SR
IE in Beacon/Probe response/Assoc response.
This change is done to configure default non-SRG OBSS PD
parameters in FW in this case.
Change-Id: Ic37e5f011cb7e07ebbe4acef56b8c36c4e08c285
CRs-Fixed: 3551808
When vdev1 GO start, vdev0 STA RSO is disabled.
When vdev1 GO start completed, vdev0 STA RSO isn't re-enabled.
To fix it, if WLAN_FEATURE_11BE_MLO undefined, if_mgr_is_assoc_link_of_vdev
returns false instead of true, then wlan_cm_enable_rso can be called in
if_mgr_enable_roaming_on_vdev to re-enable STA RSO when SAP/GO/other
STA start completed.
Change-Id: I1a14a852734909927312297310eeaea8508aca61
CRs-Fixed: 3612716
SRPS IE is not included in beacon, when Non-SRG OBSS PD SR Disallowed
bit is set in he_spr_sr_control hostapd configuration parameter.
Code changes are done to update beacon template to include SRPS IE to
communicate to all the connected STAs that, the Non-SRG OBSS PD based
SR transmissions are not allowed in the BSS.
Change-Id: I4090099de20fe383f16e60ad871faa4f42549a24
CRs-Fixed: 3533287
Add a sanity check to validate the vdev_id returned by firmware
for vdev_summary_stats and vdev_chain_rssi_stats.
CRs-Fixed: 3614088
Change-Id: If2e798459f7069aa5495169dd39b98ad8864b2e4
Currently while extracting vdev extended summary stats, host
checks for number of vdev stats sent by firmware and fails if
the number is greater than WLAN_MAX_MLD. This sanity check will
be false positive, in case of MLO STA + STA/SAP concurrency.
So, to avoid such false positive failures, use WLAN_MAX_VDEVS
to validate number of vdev extended stats sent by firmware.
Change-Id: I067f847ca6c436ff23166e19ecc721e6d95f0294
CRs-Fixed: 3613398
If FW roams with 3-links, assoc beacon and link beacons
are sent by the firmware in roam sync frame event.
However, driver parses the per-sta link info of the
assoc beacon and caches the individual per-link probe
responses only if the link beacon is not present.
Therefore, in 3-link roaming cases, if both assoc link
ML probe response(assoc link + one partner link) and link
probe/beacon are received, then the per-sta profile present
in the ML assoc link probe is not saved to the scan cache
and this leads to bss retrieval failures.
To fix this, parse per-sta profile and generate individual
probe responses directly from the roam sync frame event for
both link and assoc beacon/ML probe responses. This caches
all the partner links individually.
Also, set the assoc state for the standby link bss after the
completion of roam sync processing on assoc vdev. This prevents
the age out of the standby link scan entry.
Change-Id: Ib349aedb826d5037c6015434557d909477e87e5a
CRs-Fixed: 3613058
Currently the user configured MFP state that comes from the
userspace in connect request is not handled or processed.
Instead the RSN caps from assoc IE of connect request is inter-
sected with AP RSN caps and sent to Firmware using RSO command.
This RSN caps is used in FW in selecting a roam candidate, which
was causing the cross AKM (eg:SAE -> PSK) roam fail.
Hence, use the user configured MFP value in sending the RSN caps
to Firmware.
CRs-Fixed: 3604149
Change-Id: Ibf2d7bfba6cd17a98b9e4b1c8c468046ab2e7e62
Currently, in some API such as
"wlan_cfg80211_tdls_add_peer_mlo", when driver gets vdev, it is
MLO vdev, so it uses WLAN_MLO_MGR_ID ID, but when it tries to put
the vdev, since disconnection happens and mlo flag is cleared,
so it uses WLAN_OSIF_TDLS_ID ID which is non-ML vdev.
This causes release of vdev reference from different id for which
it never takes reference and result in crash.
To fix this, use same debug id throughout function. For that,
generalize the get_ml_vdev API by passing the debug id as
argument to the function.
Change-Id: I903185ec9b64cc67cc2e0c595ba88b7b0ca8ded2
CRs-Fixed: 3603012
If ML STA vdev is in inactive connection table, do not get
the vdev's channel for force SCC check.
Change-Id: I206aa33461f299847b247e97ea0453186c362795
CRs-Fixed: 3609017
Certain application, which send small packets with
critical info, are unable to process the FISA aggregated
UDP data.
Skip FISA aggregation for packets with UDP payload length
below 64 bytes.
Change-Id: I878f67688dd2b17cbd92322d8c51aedb4e7a5223
CRs-Fixed: 3613115
During rrm_initialize () set RRM cap for Channel Load
and statistics to enable by default. Same rrm capabilities
driver sends to AP in association request during connection.
Change-Id: I3a9d87b8bd8b28b84ccc3578fff2ad1c7ebd8a6e
CRs-Fixed: 3609838
Currently host driver filters out MCC channels for SAP
mode from the pcl, since LL_LT_SAP can operate in MCC,
so do not filter MCC channels for LL_LT_SAP.
Change-Id: If947a286a97203644b47f41bdb4881e00a25df34
CRs-Fixed: 3609868
Active ini he_max_ampdu_len and change default value from 0 to 3.
Use min(ini, he_max_ampdu_len from F/W band/MAC cap) as final
he_config.
Mdm platform need set different value to pass throughput KPI.
Change-Id: Ib0580a0e68b72b6b7cd02d327ba643cfd1508080
CRs-Fixed: 3609154
User may set the ini param g_sta_sap_scc_on_lte_coex_chan=1 if SAP
is allowed to come up on unsafe channels. Currently, this doesn't
cover the below case,
1. SAP is enabled on a 5 GHz channel in a non-DBS platform
2. Concurrent STA enabled and connected it to an AP that's in
unsafe channel.
3. SAP doesn't move to the STA channel though the ini to enable
force SCC(gWlanMccToSccSwitchMode) is set and it's a non-DBS
platform as the target channel(STA channel) is unsafe channel.
Allow SAP to move to unsafe STA channel if the ini
g_sta_sap_scc_on_lte_coex_chan is set to true.
Change-Id: I3e2b8ae57e843a938e4799f473da87664dbabb85
CRs-Fixed: 3609503
For BTM certification cases, FW is unable to roam to
testbed AP BSS due to scoring logic. Reset the BTM
abridge flag that is used to enable FW to select
candidates based on score.
Change-Id: I29b6e1b5dea969263eb263103c6d2c10d5047f20
CRs-Fixed: 3591574
Currently the default value of gSetBtLowRssiThreshold is -80 for both
mobile and auto platforms. However, it should be -65 for mobile platforms.
This change modifies the default value of gSetBtLowRssiThreshold to -65.
Change-Id: Ib45e63984f8ce3bba0b4ae28c17e2e325e479a50
CRs-Fixed: 3599770
Add support to add band info for Neighbor report request,
Neighbor request response, Beacon report request and
Beacon report response logging for MLO usecase.
Band info will indicate the band of the link involved
in MLO connection.
Change-Id: I758be63f085be46244f727a842806fb27660e8dd
CRs-Fixed: 3583958
For SAP mode MCC is not allowed, but some SAP PCL table including SAP
current channel frequency which is allowed in current HW mode, and will
be selected with priority by policy_mgr_get_pref_force_scc_freq(), but
it will lead to MCC with existing non-movable connection.
Fixed by checking whether MCC with exist non-SAP connections and filter
out it from PCL list for SAP mode.
Change-Id: Ifdd1ca347db258aaa183466ecb1b44bbf5f37d0d
CRs-Fixed: 3543336
As per customer requirement, to enable or disable t2lm support
configure CFG_T2LM_NEGOTIATION_SUPPORT as INI.
Change-Id: I8eb4c78a04bbaa5ce0c155d04ddb793d31b092ee
CRs-Fixed: 3608649
scenario:
(1) DP FST update node with dp_vdev A has been inserted into
DP FST update list, but FST update work has not been queued due
runtime PM or it has not been scheduled for long time.
(2) dp vdev A get deleted after disconnection, but DP FST node with
dp vdev A still exists in list.
(3) new connection established, DP FST update work get scheduled,
invalid accessing to stale dp vdev A in
dp_fisa_rx_get_dp_intf_for_vdev() and hit panic.
solution:
(1) re-queue DP FST update work when runtime PM resume.
(2) validate dp vdev in dp_fisa_rx_fst_update_work() before
using it.
Change-Id: I7073a9d744806c33ddb5a7cbe9f7960890511eec
CRs-Fixed: 3607437
Introduce support for MLO setup event for connectivity
logging.
For MLO setup event bssid, band, link_id and status
are sent as part of logging.
Change-Id: Idd16b4ec7eeb245a5ce99b383bd40f169f579ebc
CRs-Fixed: 3605678
Currently, Host driver uses vdev object to retrieve
mlo link info. However, there is a need to use
mlo dev context in case of standby link.
This change is to use mlo dev context for fetching
link info, As it is available for both psoc and vdev.
Change-Id: Idccf91eb191a9fc24108648b885d6e9c7832a051
CRs-Fixed: 3568936
Currently, when user executes "MEASURE_ML_CHANNEL_CONDITION" command,
it provide frequency parameters for two link only as driver fills
the frequency, phymode and other parameters in scan request for
two links only. This is because driver fills for
"WLAN_UMAC_MLO_MAX_VDEVS".
To enable this for three link, driver fill the scan requent from
link context which have link information for "WLAN_MAX_ML_BSS_LINKS".
Change-Id: Ic8e1313b35c6ae916a4494cdbfbd7b0828eddc7a
CRs-Fixed: 3576619
Add support to add band info for BTM Query, BTM request
and BTM response logging for MLO usecase.
Band info will indicate the band of the link involved
in MLO conenection.
Change-Id: I5ba9fff874da52aa36af6ced97f065d9976665e2
CRs-Fixed: 3583657
For certain cert cases, roaming is disabled through
CAPI. Supplicant sends RSO disable to Host and the Host
disables BTM offload as well as part of roam disable.
But, for cases like load balancing, Firmware has the
logic to handle BTM requests with disassociation
imminent bit set to 1, by sending an event to Host to
trigger a T2LM request action frame rather than a BTM
response. Thus, set BTM offload bit even when roaming
is disabled to allow FW to handle BTM request frames
instead of supplicant.
Change-Id: Iaa0cbbce62dbb76518880ef2470d6d0819c501db
CRs-Fixed: 3590733
Modify the api cm_roam_trigger_info_event() in order to add
band info for Roam scan diag logging for MLO usecase.
Modify the api cm_roam_candidate_info_event() to indicate
MLO connection during Roam candidate logging.
Change-Id: Ib42e8362ee091716110c2aa3513a6f6b5653681f
CRs-Fixed: 3582383
Currently, some mlo APIs returns false if mlme_obj is
not found but return type expected is uint8_t.
So, return 0 instead of false in case of error.
Change-Id: I52d0fd82520bb046a7a80381d53f97c95b32d0d1
CRs-Fixed: 3608559
In case of 320 MHz BW, 6 GHz channel numbers are overlapping
with existing 2.4 GHz and 5 GHz channel numbers.
If DUT connected with one of overlapped channel, To identify
exact band and corresponding bonded channels driver should
pass 320 MHz center frequency to
wlan_reg_get_bonded_chan_entry() as a argument along with
connected 6 GHz frequency and channel width.
Fix is to use 320 MHz center frequency to compute bonded
channels in mlme_update_freq_in_scan_start_req().
Change-Id: I7616f0379d64e33f9bd4a208253db0a390158f77
CRs-Fixed: 3606575