To keep track of events on each links, some of the flags
which are in adapter level will be moved to per link.
Move SME_SESSION_OPENED flag to the new link info enum.
Existing callers will be moved to deflink pointer.
Change-Id: I13d901a48b4a92c5a28d9edd21ca25e93a869706
CRs-Fixed: 3452196
The action frames can per sent on per link, hence move
to link info in adapter.
Existing callers moved to deflink pointer.
Change-Id: Ia8d8284017cd8d5564ae9ea4f1f8d67299e9cc70
CRs-Fixed: 3452185
The variable is used in SAP/P2P-GO modes, so move this variable
to ap_ctx.
Existing callers are moved to deflink pointer.
Change-Id: I9acc20d3fb397c241adaf85daecff099cc236897
CRs-Fixed: 3452166
The variable is used for notifying ACS completed event for
SAP/P2P-GO modes, so move this variable to link info.
Existing callers moved to deflink pointer.
Change-Id: I93463536469d67bc8dc3bcd27879cccab0dba025
CRs-Fixed: 3452137
Add dot11f support to handle EPCS action frames, such as
request, response, and teardown action frames.
CRs-Fixed: 3511067
Change-Id: I1896d7fcf89a8dd9b60a89f2902567bc60667972
Currently, in cm_vdev_join_req, driver does not update the assoc_link_id
when connection is SLO.
Fix is, driver should update the assoc_link_id in case of SLO.
Change-Id: I50e4834b77e87df34327f6825778fc460641afa9
CRs-Fixed: 3509965
In ML-STA + STA concurrency currently, when legacy STA is being
brought up the RSO of existing ML-STA is stopped and not re-enabled
later. Therefore, ML-STA cannot roam after concurrent STA bringup.
Modify the RSO enable logic for ML-STA as follows:
1. All the links should be up.
2. The vdev should be an assoc vdev
3. The if_mgr_enable_roaming should happen on an interface other
than ML-STA links.
The condition-3 prevents enabling RSO for the assoc vdevs when the
link vdev connect complete event is processed.
Change-Id: If86a81b99d18eaa99a25e419c85197d9d0d826ac
CRs-Fixed: 3493333
initially, if hotspot starts in world mode, it can come up in
2.4 GHz only. Later, the correct regulatory domain gets configured
in the host driver.
Even if this new reg domain supports higher bands and better channels,
the SAP will not be able to move since the ACS list configured
initially is for world mode(only 2.4 GHz channels).
To fix this issue AP_ALLOWED_FREQ_LIST will be sent by upper layer
based on band selected by user and host can select higher band on
country change if present in allowed freq list. AP_ALLOWED_FREQ_LIST
will be sent only if host advertises AP_ALLOWED_FREQ_LIST flag.
so, advertise AP_ALLOWED_FREQ_LIST flag to get frequency list via
set wifi command.
Change-Id: I3431b73f23d55113f95ff5fdf92de9865878d182
CRs-Fixed: 3455281
To save stats for each link separately, move the
hdd_stats member from adapter to per link data
structure.
Existing user moved to deflink pointer.
Change-Id: I35c6e4a0e95ccf77d28a8768444d702a56f23383
CRs-Fixed: 3452115
To obtain linkspeed on per link basis, move
estimated_linkspeed member from adapter to link info.
Existing callers moved to deflink.
Change-Id: Ifeba9890c164176b54ebe669001d1f04064bf511
CRs-Fixed: 3452100
Earlier the legacy osif pointer will be adapter which will
now be same for all the VDEVs in single netdev multi vdev model.
To get the per link data for each VDEV, assign link info
pointer in the legacy osif pointer and rename as
wlan_hdd_get_link_info_from_objmgr().
Callers can get adapter from link info pointer.
Change-Id: I9843d8c33ac1d9fef833a94f15ec3c64742bbd29
CRs-Fixed: 3452024
Channel switch from wpa_cli DRIVER command doesn't do
strict concurrency check. Therefore, the DUT can end
up in STA+SAP MCC mode.
Prevent channel switch to invalid channels or invalid
hardware modes by doing strict concurrency checks.
Change-Id: I37e31cdac5441b72619071e3eacefffdf3ae2fba
CRs-Fixed: 3490489
Add function wlan_mlme_convert_he_op_bw_to_phy_ch_width, check 80+80 or
160 with ccfs0 and ccfs1.
Add 20M/40M check for vht bw with prim chan id and ccfs0.
Change-Id: I01a407358d7c310f92c8a69004ebb002b615438a
CRs-Fixed: 3511291
Android builds are transitioning to using Bazel for builds, and there
is a Driver Development Kit (DDK) which out-of-tree drivers must use
in this new scheme. Introduce the infrastructure to describe the wlan
qcacld-3.0 driver module using the DDK.
Change-Id: Ice293fe10f37a0d083187edd49f352e3a4dca18a
CRs-Fixed: 3494233
Currently the configs in kiwi_v2_defconfig are not sorted
alphabetically. Fix this by creating a separate defconfig
which is sorted.
Change-Id: Ic0731c450a6e2a3ee9d71e08780381e72afda1c9
CRs-Fixed: 3495343
skb->priority is updated in hdd_update_pkt_priority_with_inspection(),
so it might not be same as original wmm type value, use original wmm
type value for hdd_get_queue_index().
Change-Id: I2088ba7b7359d35d33603e0728a0a98347f0da05
CRs-Fixed: 3512772
Previously 4 SAP PCL table only check 3 SAP in DBS mode,
it is not applicable if SBS mode available, for example if SAP1/SAP2
on channel 5805 and SAP3 on channel 5220 in SBS mode, if SAP4 start
on channel 2.4 GHz, it will be rejected.
Move policy_mgr_get_index_for_3_given_freq_dbs() and
policy_mgr_get_index_for_3_given_freq_sbs() out of macro
WLAN_FEATURE_11BE_MLO, so it can be reused by 4 SAP case.
Use above APIs to get common four connection PCL table index
and remove exist four SAP connection PCL index.
Change-Id: I7a8a3e6736feaae139e2c81050f00b2078df371e
CRs-Fixed: 3500354
The Bazel DDK builds in a sandbox. As part of the sandbox it does not
allow a file reference from above the module root directory. To work
around this issue, create a symbolic link in the qcacld-3.0 directory.
Change-Id: I28e0ff45843c48974b946555c6603f0fc69127e8
CRs-Fixed: 3496753
Crrently there is no logging infra for LL_SAP component.
With this change add logging infra for LL_SAP component.
Change-Id: I66c43493523856efaf23c4f4e79c1e96d0536fba
CRs-Fixed: 3499749
Fix sanity checks of unsigned integer values in HDD APIs
and move MLO macros to the HDD MLO file from SME.
Change-Id: I3a8ff8a379be1fcbfd357e145ebc7aa53fde3818
CRs-Fixed: 3423121
Some third-party APs are not able to handle more than 1 octet
in the RSNXE, even though RSNXE support is present.
Therefore, to prevent this interop issue, send only 1 octet of
RSNXE if the AP broadcasts only 1 octet.
RSNXE handling logic summary:
1. Don't modify userspace RSNXE when caps other than
SAE_H2E, SAE_PK, SECURE_LTF, SECURE_RTT,
PROT_RANGE_NEGOTIOATION are set.
2. AP doesn't send RSNXE
For WPA2 - Strip the RSNXE completely.
For WPA3 - Retain only SAE capabilities such as H2E and PK.
3. AP supports RSNXE with length 1
For WPA2 & WPA3 - Retain only the first octet in RSNXE.
4. AP supports RSNXE with multiple octet
For WPA2 & WPA3 - Use the userspace assoc ie RSNXE as it is.
Change-Id: I56d1d5711b067fe5e0ff19117f6a600219cb86a0
CRs-Fixed: 3490369
When handle FW roam sync event, reset link id of every vdev in the MLO,
then set correct link id for the vdev according to roam offload sync
indication event. Otherwise link id may be invalid in vdev.
Change-Id: I91b36d154ab3115815211698b6c5237a3bfa1f5f
CRs-Fixed: 3512507
DTPC and power constraint IE is mutually exclusive, but there are
some faulty AP which are advertising both IE at the same time.
To address this if both the IE's are present,
preference is given to the local power constraint IE.
Change-Id: I7810cbf3a570ba19d83934fe3946b9aa38967990
CRs-Fixed: 3383531
Currently low TPC power is configured to firmware if power constraint IE
is not present and only vendor DTPC IE is present.
TPC power calculation is depends on regulatory power, ap power constraint
and TPE IE.
To fix this add new check is_power_constraint_abs in reg_tpc_obj.
Whenever local power constraint is from DTPC IE, is_power_constraint_abs
is set to true. And TPC power is calculated with regulatory power,
DTPC IE power and TPE IE power.
Change-Id: I37b14d144242fa30f02268f8a76b1b016bf69848
CRs-Fixed: 3383531
This change creates a new component for low latency SAP
and also does the init and de-init of this new component.
Change-Id: I4a8192feb6edb30b1898ef30675cbc01235a8e42
CRs-Fixed: 3482510
The IOVA for the buffers that are attached to the direct
link receive copy engine need to be contiguous for optimal
memory mapping on ADSP.
Fix is to add multi pages prealloc support for HIF layer
and add a pool entry to multi pages prealloc for direct
link receive copy engine.
Change-Id: Ieb253bd3c1b6550e4c1c63cd587993891ac817f2
CRs-Fixed: 3497689
Log the AP link_id as part of the connect information log which helps
in debugging.
Change-Id: I5244e6c1d2cec905005515078839c0feda721a29
CRs-Fixed: 3508511
Upon the completion of roam sync indication event, the
roam sync complete cmd is first sent to the firmware.
This is followed by the netdev queues enable. This
approach adds latency in the first downstream tx frame,
and the FT roaming KPI is not met due to this latency.
To fix this, if roam sync handling is successful, enable
the queues and then send roam sync complete to the firmware.
It's observed that the current change improves roaming
latency by 6 msec.
Change-Id: Ib05ca01892b6d8b62badcafb64bb8c16270ee9f8
CRs-Fixed: 3483751
When disable puncture, no bandwidth indication ie exists in channel switch
wrapper, only wide bandwidth ie exists, need reset puncture to 0 when
handle csa event.
Change-Id: I6d311b52c984f354fbc359c6f5b5122b2a612b91
CRs-Fixed: 3512000