When roamed from mlo to single link, link vdev1 disconnected, assoc vdev0
RSO is disabled, after vdev1 disconnected, even vdev0 RSO is enabled again,
roam scan channel list is trimmed.
To fix it, when link vdev disconnect, just stop RSO, don't disable RSO,
roam scan channel list won't be trimmed.
Disable RSO only when assoc vdev disconnect.
Change-Id: Ie624cffa3acaebcd73abb7be54ce1016e88447f6
CRs-Fixed: 3522793
In current scenario during OWE roaming when HB failure occurs, it
should clean copied reassoc response and roaming info. But it is not
getting freed which leads to host driver crash while on idle shutdown.
In mlo_roam_copy_reassoc_rsp() memory is allocated for
sta_ctx->cpied_reassoc_rsp, sta_ctx->cpied_reassoc_rsp->roaming_info
and connect_ies->assoc_rsp.ptr but if memory allocation fails for
these it directly retuning without feeing previously allocated memory.
Add change to free the prevoiusly allocated memory if memory
sta_ctx->cpied_reassoc_rsp->roaming_info and connect_ies->assoc_rsp.ptr
fails to allocate memory which avoid the memory leak issue.
Change-Id: I7ca6ee526bf08c614ff25e4c3457db0dd58fc9aa
CRs-Fixed: 3507296
Currently policy_mgr_modify_sap_pcl_for_6G_channels() only find the
first STA or P2P-CLI, then check its channel is 6 GHz or not,
It will lead to different behavior if there is MLO STA which has one
link connected on 6 GHz, sometime PCL modify for 6 GHz channels,
sometime not.
Change to find first 6 GHz STA or P2P-CLI, only if has, continue to
do 6 GHz channels modify.
Change-Id: I96d01ded297fb900f0ea715b75cbdadb9faade3d
CRs-Fixed: 3526650
Add pld_pcie_set_tsf_sync_period and pld_reset_tsf_sync_period to
update time sync period vote from wlan driver based on use-case
e.g. tsf sync start / stop. Extend gtsf_ptp_options ini config
to control this functionality.
Change-Id: Ie4a6c80beccd6d315c9f3b31263de7f3b8e0ac2a
CRs-Fixed: 3501976
320 MHz channel has overlap between adjacent bonding, so the certer
frequency is not unique, it will check fail if check certer frequency
differ and may not included as a valid bonding.
Remove certer frequency check when doing ACS at 320 MHz.
Fix static analyze error in this file.
Change-Id: Icf500e92ebe64071737161ac1e5a0d22f2a0e08d
CRs-Fixed: 3509363
Add a new vendor command and attributes to control and fetch
the state information of the MLO links affiliated with a
specific interface.
This will enable user space to dynamically control the MLO
links states based on the latency, throughput and power save
requirements.
Change-Id: I273049ccc92ada2624132f031a9c79d76e977a3c
CRs-Fixed: 3529429
This reverts Change-Id I7d75bb6a82fd27d8925d53529b4252b782457bc8
("qcacld-3.0: Use static symbolic links for multi-ko support") along
with removing per-chipset symbolic links added after that patch.
The original patch was created to allow the qcacld-3.0 driver to
conform to the Hermetic Build feature which required that the source
directory not be modified during the build process. However,
qcacld-3.0 is transitioning to the Bazel DDK, and the presence of the
symbolic links is interfering with Bazel. In addition, the Bazel
build system won't use these symbolic links. So the support both the
legacy build system (in a non-hermetic manner) as well as the Bazel
DDK (in a hermetic manner), revert back to dynamically creating the
symbolic links.
Change-Id: I2b6a0ed19f7f4b3ae31d28e2b4683afd0671f19a
CRs-Fixed: 3495618
Current code does not have a GKI variant of DDK pineapple
defconfig. Fix this by adding a GKI variant.
Change-Id: I91ae63ae2c1a1dd4ac30eb3da31c6394f523d750
CRs-Fixed: 3530783
Wrong chan width type is used for WLAN_MLME_PEER_BW_PUNCTURE.
Need convert wmi_host_channel_width to phy_ch_width type.
Change-Id: I9e5d4606715a99062229af36240d03580ad54891
CRs-Fixed: 3526099
Currently there is no feature capability support for ll_lt_sap
and host driver and user space assumes that support for ll_lt_sap
is always present which not always true.
This may result in unexpected behavior if firmware does not
support ll_lt_sap.
To address this issue, add a feature capability to indicate
to userspace if host driver and firmware supports ll_lt_sap.
Change-Id: I7fbdb1996cab473f7a89761a35b6859fd2729c0a
CRs-Fixed: 3521091
Currently, kernel provides the multicast address list to the driver
and driver appends this list with new peer multicast address which
are not included in the list. This is done in irq thread.
But with recent changes, for NDI, driver will update this list on
the peer addition and deletion which is executed in scheduler thread.
This may lead to issue when request to update the multicast
list comes from scheduler thread while irq thread request is in
progress and vice-versa.
So, to handle such situation, add spin lock which will protect the
multicast address list.
Change-Id: I9093a92d3714abd875dcd02743f711a5bed26090
CRs-Fixed: 3518989
Currently, driver gets peer multicast address list from kernel for
all interfaces and it send this list to firmware. For NDI, on NDP
confirmation indication, driver appends the multicast list with
new NDP peer added and then send it to firmware. But this is done
for first NDP peer only, kernel does not provide multicast list
again as kernel already configures the multicast addresses, unless
there is some reset happens in kernel.
This can cause issue as firmware is expecting the updated multicast
filter on each NDP confirmation (new peer is added) to enable the
NS frame exchange. As new peer is not added in the filter, firmware
will reject the NS frame.
So, to fix this, update the multicast list on NDP peer addition and
deletion.
Change-Id: I6371199ae5c3a8f4088987f1e6f10c39cbed1685
CRs-Fixed: 3518887
Currently, host driver does not allow NDP formation if two STA is
in connected state. But driver should not allow NAN enable in first
if two STA is in connected state as STA + STA + NAN concurrency is
not allowed.
So, to fix this issue, add check for STA + STA concurrency in NAN
pre-enable in which NAN will drop if two STA + STA is present.
Change-Id: I6e6baa386d50b2903118660f10cc98ffcba60705
CRs-Fixed: 3481148
In MLO STA case, even though twt_responder ini is disable but
still this bit is getting populated in he_cap for non assoc link.
Reason:
1. twt_res is getting set from populate_dot11f_twt_he_cap()
for assoc link. For non assoc link, it's getting set from
mac context.
2. populate_dot11f_twt_he_cap() api doesn't have the interseted
value of ini and firmware caps according to twt component api.
As part of fix,
1. twt_req and twt_res should have intersected value in
populate_dot11f_twt_he_cap()
2. Update twt_res from populate_dot11f_twt_he_cap() for non
assoc link also as it will update the intersection of ini and
fw caps
Change-Id: I6ef34723f879aead4517c28cf6cfad2fa11165fe
CRs-Fixed: 3524903
SR update is failing due to missing vdev connection entry in
policy_mgr_conc_connection_info table.
Fixed issue by using wma_get_interface_by_vdev_id() WMA util API which
refers to WMA vdev connection table.
Change-Id: I73a6dccaa7a5aaa8becfdfb34250e6752f43d860
CRs-Fixed: 3528556
In enterprise network, multi aps with same SSID. some AP may
switch to hidden ap in working mode, but it didn't response
probereq, this is ap's issue, so not able to register this
bss to kernel. if continue connect it, it will hit key
install failure from userspace as wdev->connected wasn't enabled.
change is to wait for probersp to trigger join success announcement.
even if the ap didn't response, it will select another non-hidden AP.
Change-Id: I5596dcdf5978e3a832c87d52fc4d3db4f01904ab
CRs-Fixed: 3503410
If MLO STA connect with one 5 GHz low link and another 6 GHz (non-PSC)
link, and start 2 SAP on 5 GHz band, one SAP will start on 5 GHz low
channel doing SCC, another SAP will not start on 6 GHz (non-PSC)
channel and start on 5 GHz high doing MCC.
Add one PCL type which add SCC on 5 GHz low channel to
PM_SCC_ON_5G_HIGH_5G_HIGH_PLUS_SHARED_2G for this case, so that last
SAP can start on 5 GHz low channel doing SCC.
Change-Id: I4312873c159ac14652990c7c1079c13476dcd383
CRs-Fixed: 3508539
Currently, TDLS code sends setup request and then forwards
TDLS discovery response frame. For MLO case, since supplicant
gets the link id from the link identifier element of discovery
response frame, there is issue when supplicant tries to add
new station because link id has not been properly set.
To resolve this issue, tune the TDLS code to forward the TDLS
discovery response frame first and then send setup request event.
Change-Id: I89b501fc4da8615ddb8973e5edce73294793558f
CRs-Fixed: 3528071
With this change add two helper APIs to check if the input
concurrency mode is SAP mode and to check if the input mode
concurrency mode represents beaconing mode.
Change-Id: Iccc82fccf20e43f600efbb4a83c00d51f1d2cd14
CRs-Fixed: 3521665
Currently, there is no logic to update restricted_twt cap in mlo
ie for assoc req. Fix is to add twt eht cap check in mlo assoc req.
Change-Id: Ia83d2076f4dc974e1de7f087dd89bc515f6c13cb
CRs-Fixed: 3516980
In api wma_rx_service_ready_ext2_event(),Set max group key
to firmware only if supports multipass sap.
Change-Id: I58ba5c53e81209e9a95878dca9bc5a5668b0edb0
CRs-Fixed: 3521352