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
Add HDD osif AFC vendor command support and PLD send AFC response
data to target support. Call AFC common API to init/deinit AFC
component.
CRs-Fixed: 3375786
Change-Id: I84342b6ea3b2f14c75eba8745cb17070f404b8d1
Based on requirement a new concurrency mode PM_LL_LT_SAP is
added, add corresponding pcl table entries for LL_LT_SAP.
Change-Id: I12bf51547984c714499f7f0f35581251306e1a84
CRs-Fixed: 3514184
Because of recent changes channel bandwidth and operating freq
are retrieved with two different sta_ctx.
update the sta_ctx for link properly to retrieve the proper information.
Change-Id: If7a045d4b9b41ccd50cb9200f38902847b014571
CRs-Fixed: 3524324
Add support to send user-configured BA buffer size to FW.
Also, update the AMSDU support flag based on user
configuration.
Change-Id: Ie82285635f58753ae4b8a24015b81a18fdfd9db6
CRs-Fixed: 3524623
FW has BA Auto mode as default configuration and expects
Host to update if it is Manual trigger mode. Currently, Host
sends Manual mode trigger on assoc vdev as the partner vdev
is not yet created while setting this value. Modify the
logic to support to set Manual mode on each vdev post the
vdev start.
Change-Id: I3f1e806d2a1e9a28f3f380a0c087da494a7af27e
CRs-Fixed: 3401604
Modify hdd_cm_is_vdev_roaming() API to take link_info
as functional argument to retrieve whether the
corresponding VDEV is in roaming state or not.
Existing callers moved to deflink.
Change-Id: I0efee888a1d886e04817c9870db95be2a95d8e54
CRs-Fixed: 3464349
Modify hdd_cm_is_disconnected() API to take link_info
as functional argument to retrieve whether the
corresponding VDEV is in disconnected state or not.
Existing callers moved to deflink.
Change-Id: I4520230b2a59cbac550f196acf9c48e6abe45d1b
CRs-Fixed: 3464327