Currently PM_STA_SAP_24_STA_5_DBS is not added in fourth connection
pcl table, due to which pcl is becoming 0 in case of P2P on 2 GHZ doing
MCC/SCC with one STA 2 GHZ link and one STA link on 5 GHZ in DBS.
Fix is to make PM_STA_SAP_24_STA_5_DBS same as PM_24_SCC_MCC_PLUS_5_DBS,
so that next/fourth connection can come up on PM_SCC_ON_5_CH_5G.
Change-Id: I4b4c346a998c24ab090307982f1ef6da90bb507c
CRs-Fixed: 3225380
For FT-FILS AKM, 1st connection to an AP in a realm takes place
with Full EAP. 2nd connection to any AP in the realm does the
FT initial mobility domain association with authentication
algorithm as FILS. Subsequent connection/roam happens with
FT protocol.
fils_ft key is derived during 2nd connection. But driver
copies from fils_ft buffer after 1st connection is complete
to fill the PMK in the 11r TLV. This causes the pmk len = 0
is sent in the 11r TLV.
Fill the initial connection PMK in RSO command after 1st
connection. From 2nd connection onwards fill the fils_ft.
Change-Id: I52399fc7bd3526a11e29c54a3ca13d43bbaf6b80
CRs-Fixed: 3197226
Add support for new ini param RoamScan_InactiveTimer. This param
is similar to the existing roam_scan_period_after_inactivity but
unit change
Change-Id: I0e803decaba30fa3f2dfcd95dc62dc71aa1cb3cd
CRs-Fixed: 3016893
GETROAMSCANCONTROL and SETROAMSCANCONTROL driver commands
will be deprecated from Android 13. So remove all logic
related to these driver commands in the host.
Change-Id: I05fafbec2b3f3b798c8c89d0c33b1dbf5c1b45d4
CRs-Fixed: 3225052
Add cfg item to enable/disable eMLSR mode for ML STA
under 802.11be op mode. The cfg value 0 corresponds
to default MLMR mode, 1 corresponds to eMLSR mode.
Change-Id: Ib02516aac8ac44aee6b40a572a9f7469b10d0ac2
CRs-Fixed: 3184745
Add support for new ini param RoamCU_MonitorTime. This param
is similar to the existing bss_load_sample_time but unit
change
Change-Id: Iae05a9568aa29a5f6a9cfc771e66184e51963ab6
CRs-Fixed: 3015967
With restructuring in hif runtime pm module, modules are
required to register with the hif runtime pm module. Also,
link states are depreciated.
This change registers PM QOS and bus suspend modules which
use runtime PM module and replace link state with resuming
link up state in PMO resume.
Change-Id: I0df48e3d31a1fb0f03faaa0617b48937c9bc224b
CRs-Fixed: 3169425
To support shutdown WLAN when system goes into suspend, add idle shutdown
when got PM_SUSPEND_PREPARE/PM_HIBERNATION_PREPARE.
Before suspend/shutdown, user space should stop adapter. And after resume,
user space should restart adapter. This can ensure user and kernel space
to sync adapter's state.
Change-Id: Id1f5172a7fc1792c83c8c1c20127de815f7e4980
CRs-Fixed: 3208931
When MLO SAP is started with two different bands, the 2.4 GHz
link follows the 5GHz and restarts on the same channel
as 5 GHz link.
The user configured frequency for the SAP is cached on the
psoc, therefore during the concurrency check after bringing
up the second connection, 2.4 GHz link considers the new
user configured frequency of 5GHz link and moves to the same
channel.
Save the user configured frequency per vdev to prevent
cross-utilization.
Change-Id: I62f883bf818332bb7d0c838e6ed629a8f2d2f21b
CRs-Fixed: 3209394
-Wimplicit-fallthrough is being enabled by default. Some compilers
such as clang require the attribute instead of just a fallthrough comment.
Change-Id: If55d68cb76589b39b88d859ea4d9fa6e10246c7e
CRs-Fixed: 3217399
-Wimplicit-fallthrough is being enabled by default. Some compilers
such as clang require the attribute instead of just a fallthrough comment.
Change-Id: I7a04c8727121f58a5d6dcd575446c9acedea164b
CRs-Fixed: 3216248
Currently, vdev in link set active request is added
without any check whether it is ml sta vdev or not
due to which may cause issue of empty event for that
particular vdev when sap/p2p vdev is added instead of
ml sta vdev in request.
Fix is to add ml sta vdev in link set request to avoid
mismatch with fw link down and expected vdev down from
host to avoid empty event failure
Change-Id: If99b305c267f094913b8d9ce96a330eed47d0214
CRs-Fixed: 3221818
set_primary_vdev usecase in STA+STA concurrency is to use that
interface(e.g. wlan0) over the other interface(i.e. wlan1) for
data transfer.
Non-primary vdev use case is to check the quality of that link
and decide if data can be switched to it and make it primary.
It may get disabled if it's not going to become primary STA after
measuring the link quality for sometime or with few APs.
Enable roaming on non-primary vdev also to find better AP.
Change-Id: I3205f1ee1b7da4aa813955308730949ccc70941f
CRs-Fixed: 3219633
Link gets disabled when a secondary STA is connected and if it's
causing MCC with one of the links. Once the secondary STA is
disconnected, this link can be re-enabled.
Change-Id: I5b5f885c103d5fb5611c32422c26112b336c97ec
CRs-Fixed: 3219632
When an ML STA connection exists with more than one link and if
secondary STA connection happened, check if it's causing MCC.
Disable the link that is causing MCC with the new station.
Change-Id: If85da9dd778791c1a5d1a658b97942c5277c5429
CRs-Fixed: 3219631
When an ML STA connection exists with more than one link and if
another STA connection is attempted, allow it. Disable the link
causing MCC with the new station after successful connection.
If there is only one link, reject the second STA connection.
Change-Id: I3cd95e0b425f5e1f96d75f226b058668f030151f
CRs-Fixed: 3218700
Add support for new ini param RoamScan_SecondTimer. This param
is similar to the existing roam_scan_inactivity_time but unit
change
Change-Id: I65c7f88b95d102d9101d8dd59c662650706b247d
CRs-Fixed: 3015947
Add support for new ini param RoamScan_FirstTimer. This param
is similar to the existing gEmptyScanRefreshPeriod but units
change
Change-Id: If250ba41d71ef20c7365af2c90550b3b575d285c
CRs-Fixed: 3016232
Currently, roaming state machine relies on the disconnect
sequence where link vdev gets disconnected first and then
assoc vdev. RSO stop is sent as part of link disconnection
and skipped for assoc vdev disconnection as the roaming
state machine is per ML than per link.
If link vdev connection hasn't happened due to some
reason (e.g. link not available in scan while connect, single link
ML connection), RSO stop command is not sent to firmware due
dependency on above sequence.
Check roam state while processing assoc vdev disconnect and send
RSO stop command to firmware if it's in enabled state to cleanup
the RSO state machine in firmware.
Change-Id: If3e9a579c0f3da27a337fbbffcaf0beb580bd8bd
CRs-Fixed: 3215155
Add handling to disable second vdev of mac if miracast
is set for one vdev. In case high throughput or low latency
is required for particular vdev then another vdev on same
mac should be disabled, if present in MCC.
Change-Id: I36cc19f442130b098c4a02ec0ebcf69b89dd2a3c
CRs-Fixed: 3219512
Add support to handle 2 sap and 1 ml sta link.
Currently, get pcl fails for fourth connection when
2 sap link and 1 ml sta link is present due to which
fourth connection is not allowed as pcl len is becoming 0.
Fix is to add handling for fourth connection when existing
concurrency is P2P/SAP + P2P+SAP + 1 ML STA link.
Change-Id: Ief969018da14096f758fea4bd06d17e7e8d039b7
CRs-Fixed: 3219328
Currently in driver, NAN Data Interface can be created with
only name "aware_data" which creates dependency on interface name.
To remove the dependency, the interface is created now by name
provided by Wifi-HAL.
For this, interface is created in STA mode with name provided by
WiFi-HAl. While processing vendor cmd QCA_NL80211_VENDOR_SUBCMD_NDP,
given ifname is searched in adapter list and mode is changed to NDI.
CRs-Fixed: 3196179
Change-Id: I62dd512f8a7de4c69a53babf3112942d348bf3b6
Puncture bitmap is binding with channel bandwidth. If the STA can't
support bandwidth as AP broadcasts, STA need extract puncture bitmap
based on the negotiated bandwidth.
Generate puncture bitmap for STA based on negotiated bandwidth.
Change-Id: Iad303b220fc2e2c5a1b8c125f06300e414bf1fbd
CRs-Fixed: 3207676
Add support to dump concurrency for four
vdevs with mode, vdev id , hw mode and
mac details on which vdevs are in MCC/SCC.
Change-Id: If4c1622770b0e787f5f3de54a3ca92b35a0e1873
CRs-Fixed: 3218170
New PCL PCL PM_SBS_CH_2G,PM_SCC_ON_5G_LOW_5G_LOW,
PM_SCC_ON_5G_HIGH_5G_HIGH do not allow 3 home channel
scenario. Remove it from API
policy_mgr_is_3rd_conn_on_same_band_allowed.
Add PCL string print support for new type:
PM_SCC_ON_5G_LOW_5G_LOW, PM_SCC_ON_5G_HIGH_5G_HIGH.
Change-Id: Ie6dbb042f5ecb04cb999a7949ced8e7c7ab4ad5a
CRs-Fixed: 3215568
Currently, the driver gets the last vdev's chain rssi stats
if fw reports more than one vdev's chain rssi stats, it causes
the last one stats overwrites the former one and the last stats
may not be expected for the request vdev.
To resolve this issue, compare the vdev id before getting the
stats.
Change-Id: Ib789d148a010460108ed73b92ef603cf78c1493a
CRs-Fixed: 3212917
Generally below process should happen in renegotiation failure
case.
1. TWT setup (successful)
2. TWT setup (renegotiation failure)
3. TWT teardown
4. TWT GET STATUS - 0(dialog ID) 0 0 0
5. TWT setup - successful
Since all WMI TWT events gets executed in WMI thread. So when
renegotiation failure case hits, driver sends TWT
teardown to firmware and waits for twt ack in worker thread.
In same worker thread TWT event needs to be processed.
TWT ack event will not process as it's waiting in same worker
thread and it will get timedout.
As part of fix, break the context in renegotiation and
send the teardown in the new worker context.
Change-Id: I13c8d44d6582e39d1cc2c2aa10a500fffbf150b1
CRs-Fixed: 3204750
Add eMLSR HW mode support for ML STA. eMLSR mode
(Enhanced Multi-link Single-Radio) is a new HW mode within 802.11be
op mode. This change consists of the following
1) Handle the new eMLSR HW mode. FW sends this capability to host via
extended service ready event.
2) If FW supports this mode, then update the eMLSR capability sub-fields
in the Basic-variant MLO IE under the assoc request frame.
3) Provide peer info like eMLSR capability, transition timeout, and link
IDs to FW through WMI_PEER_ASSOC_CMDID.
Change-Id: Idc00f5f780b5617e513f307952b58277669dee85
CRs-Fixed: 3184708
Currently, deleted connections are not restored if current connection count
is geater than or equal to max no of allowed connection - no of deleted
connection which may cause issue when there are 4 connections and 2 ML sta
link got deleted temporarily for getting pcl list. As max no of connection
allowed are 4, deleted sta links should be restored. In check to restore
the deleted link comparison is done with < max no connection, so deleted
connections are not restored.
Fix is to add a check that current connection count + deleted connection
count should be less than or equal to MAX_NUMBER_OF_CONC_CONNECTIONS.
Change-Id: Ia21235ffb4d5ecc3500001f215bab5a3c48de90a
CRs-Fixed: 3216952
This reverts commit I293647175c151da0fd6628345f98ea65c83b1bb3.
New solution idle shutdown in suspend prepare is better.
Change-Id: I69a0e7401c811e4a9656fcc8e3dd069f4317cc35
CRs-Fixed: 3213236
This reverts commit I08818517d05e7866d50e3f92cfdc9fa1a4d0e63f.
New solution idle shutdown in suspend prepare is better.
Change-Id: I76b1ef8e6f945bbcba3955ff625484ebee727670
CRs-Fixed: 3213236
Add EHT MCS to rate mapping for NSS 1 and NSS 2.
Update TX/RX bitrate for EHT connection depending on current MCS/NSS
configuration.
Change-Id: I0c55beab2c6b9a9609d5a2e454a0c0e8c1312d09
CRs-Fixed: 3181127
Add vdev lock to DP component to protect against
vdev parallel delete while accessing vdev from
DP interface, also introduce get and put APIs.
Change-Id: I4ee838e1dea0caf9936ced13d6ddce6646333f6b
CRs-Fixed: 3198876
Currently in MLO use case DP component interface is not
mapped to netdev registered to ip stack and also Rx packet
over nl interface is broken.
Fix these issues by attaching DP component interface
to netdevice which is registered to ip stack for TX/RX.
Fix Rx packet over nl interface by checking
corresponding ops properly.
Change-Id: Ibf9cb03565a9e2d5cd02091995259376e1069790
CRs-Fixed: 3200617
Limit mlo link num and band by psoc sta cfg mlo_support_link_num and
mlo_support_link_band.
If mlo_support_link_num is 1, only permit 1 mlo link, don't permit
partner link.
Disable both assoc link and partner link on disallowed band too.
Change-Id: I04f0725ceb0fb4e0bd14ca44ff1a870702b62285
CRs-Fixed: 3211973
Add cfg to configure the max number of links supported for mlo sta
connection.
Add cfg to configure the band bitmap that mlo sta connection supports.
Change-Id: I6b27a7eb13eff026c5123e4bd24ba2424dba781d
CRs-Fixed: 3202029
Currently target_if_cp_stats_extract_vdev_summary_stats
function prints bcn SNR which can be RSSI as well based on
whether firmware supports reporting rssi or not.
Add check for firware support to print RSSI/SNR
Change-Id: Ifef7bfad7d79c1a1bb84641bc1d3632f6d683252
CRs-Fixed: 3209907
In api wlan_cm_is_roam_sync_in_progress(), the roam_sync
status is checked for every instance of
wlan_cm_is_roam_sync_in_progress resulting in excessive
printing of cm_is_vdev_roam_sync_inprogress logs
Add check to verify roam_sync status for STA mode which
results in trimming of cm_is_vdev_roam_sync_inprogress()
logs.
Change-Id: If0228edb90d718c7fde2b8f34e0003256cfd139b
CRs-Fixed: 3211915
This is about SAP+SAP+STA case. Restart third SAP failed after start
up and then 5/6 GHz disabled. This change allows SAP+SAP+STA SCC on
same mac and avoid third SAP restart fail.
Change-Id: I691b2e03132acfb8f724fc2f75b3816d17eb4d17
CRs-Fixed: 3198977
Currently locally generated vdev_id is passed to update
concurrency like to re-enable disabled sta link on one
p2p/sap down or handle concurrency on one ml sta link
down. This locally generated vdev id will be invalid/255
in case mode is non-sta, so hanlding will be done for non-sta
link down only.
Fix is to change vdev_id to session_id, so that session which
is deceremented due to session down can be provided and concurrency
handling can be done based on that.
Change-Id: Iaca9a339abbab3f5dab01e2224c3acd87df5bc0a
CRs-Fixed: 3212661
Currently if SCC frequencies are added in pcl list and
rest 5GHz frequencies are required to be added with lesser
weightage then all 5GHz/6GHz frequencies are added including
SCC channels. so in pcl duplicate entries are found for SCC
frequencies with different weightage.
Fix is not to add SCC frequencies during addition of 5GHz/6GHz
frequencies if SCC frequencies are already present in pcl.
Change-Id: I03123e4bf8caee62b0fcd0c3ae78d6cd7187c7de
CRs-Fixed: 3209858
The dynamic GRO enable/disable based on ingress filters
should currently is restricted only to standalone STA.
This was done to address issue where ingress filters are
added on STA interface whenever SAP is up disabling GRO
unnecessarily.
Fix is to allow dynamic GRO to work on all interfaces
and concurrency scenarios based on the priority of
the ingress filter configured to avoid unnecessary
GRO disable in STA+SAP.
Change-Id: I1742f4539353939e3a40ff4096b3f833f2029b12
CRs-Fixed: 3206815
Currently, when driver receives connect request on secondary STA,
it checks if the secondary STA channel and first STA channel are
on different band to allow. This works fine for DBS solutions but
SBS solutions support same band(5GHz) channels on different MACs.
So, check if the secondary STA channel is on different mac to
allow connection.
Change-Id: If9cfe0f4605e31ab54b38a85fb9d38e9ca65871d
CRs-Fixed: 3212686
Driver checks all 160Mhz 5 GHz SAP as DFS channel SAP, but
it is not right for some regdomain which no DFS required for
some 160 Mhz channels.
Fix by check wlan_reg_get_bonded_channel_state_for_freq API
to set DFS flag.
Change-Id: I8cd402c285e858ef8d322fc8d7cfaa32ae4c2056
CRs-Fixed: 3208538
When SAP and STA both are in 11n mode then STA doesn't populate
twt_req bit during assoc req. Because of this TWT commands failed.
As part of fix, check the below variable before setting twt_req
1. TWT requestor support from firmware
2. Enable TWT ini
3. TWT ini support in 11n
4. TWT requestor support from host
Set twt_requestor bit only if all above variable are set.
Change-Id: I77f2397f986b517cd5292109927eece7fdb4c7c1
CRs-Fixed: 3210015
Currently host sets wmi_vdev_param_set_traffic_config param
id to set traffic config param but convert_host_vdev_param_tlv
is disabled for MCC. so, latency/throughput flag is set for host
param id 0x99 but in FW vdev param id to configure traffic type
is 0xB6.
Fix is to update vdev parm id to 0xB6 to keep same vdev param
id in both Host and FW.
Change-Id: If67d00308810920e9a621fdfff1b05bcccc2e047
CRs-Fixed: 3209724
With this change add support for new ini ConDTIMSkipping_MaxTime
to set max modulated DTIM in ms.
Change-Id: I89ce2b5074ce75a1701365b5d09d8ed0244aeeef
CRs-Fixed: 3038346
In the current driver implementation, check for ml_vdev_count
before invoking get_station_cb for MLO station stats is missing.
This causes timeout and failure to get station stats.
To resolve this issue, add sanity check for ml_vdev_count
before invoking get_station_cb for MLO station stats.
Change-Id: I2e8fca1b732b1e8638cec6536ea70d2174c287f7
CRs-Fixed: 3209608