Currently host driver is indication the ML AP/STA support to the
kernel at once, the kernel is expecting different iftype data
population of ML STA/AP.
Populate the configuration independently for STA/AP.
Change-Id: Icbd422413e1fa92471a37557c77af921dc0e8f10
CRs-Fixed: 3366164
When roaming from legacy AP to MLO AP, during the pe session
creation for the link vdev, the bss descriptor is allocated in
lim_cm_fill_link_session(), but its already allocated as part of
lim_join_req allocation and is not freed.
Don't allocate memory for bss_desc pointer again in
lim_cm_fill_link_session() api.
Change-Id: I1d4e0683df04e8bbf307e595cb5ac5e36ca24586
CRs-Fixed: 3363077
On add virtual interface through cfg80211 ops, the params
to create adapter as ML will set for SAP mode.
However if SAP interface add is called internally in the
driver without setting the params to create the adapter
as ML type then, interface will be created in non-ML type
and ML SAP bringup fails.
Implicitly assume all SAP mode open adapter requests as ML type.
Change-Id: I7d16cfe4f20ec0d55aa520ae031069e4b2bc6869
CRs-Fixed: 3362622
If EAPOL exchange fails for the any ML client connecting to ML SAP,
the deauth frame is sent with MLD address of the respective client.
This can lead to peer look up while preparing deauth frame and will
drop sending deauth frame.
For ML SAP session, if the peer address received is MLD address,
then change the address to primary link's address of the peer.
Change-Id: Ic23cbdfd60672432347e0837b059aea663a9c510
CRs-Fixed: 3357351
In function hdd_nan_sr_concurrency_update, the FOR iteration has
released the vdev ref if is_sr_enabled is false, but it does not
set sta_vdev to NULL. It causes the last sta_vdev ref count release
again and this causes issue of releasing ref count which was not taken.
Change-Id: Ia218073b4ef2508cd78370bb4236790df9b5ee4f
CRs-Fixed: 3363355
The kernel-doc script identified some documentation issues in
components/dp, so fix them.
Change-Id: Ic6297d80cda845287e7a472add244c489afd253b
CRs-Fixed: 3362039
When STA roams to an MLO AP, non-assoc link might be superior
in features compared to assoc link and the per-STA profile
info may carry corresponding IEs. These IEs are extracted
and added to IE list of link probe response while generating
it. So, the link probe response generated from assoc link
probe response might be of more size than assoc link probe
rsp. Allocate buffer for the scan entry to be added to scan db
and bss descriptor to accommodate all of the IEs got generated
as part of link probe rsp generation.
Allocate MAX_MGMT_MPDU_LEN bytes for IEs as the max frame size
that can be received from AP is MAX_MGMT_MPDU_LEN bytes.
Same is applicable for link scan entry addition to scan db in
case of initial connection.
Change-Id: I2c2bb79176984a98034c071389c60ee4f649fd74
CRs-Fixed: 3359087
Older versions of kernel (<5.12) support the interface creation
through vendor command. But newer versions of kernel(>5.12) expect
the NDI interface creation to happen in two phases due to RTNL lock
removal for the vendor commands.
1. Create an interface through add_virtual_intf in STA mode
2. Change the mode to NDI through vendor command.
Currently, host driver restricts NDI creation to MAX_NDI_ADAPTERS(2) in
kernel versions < 5.12 and same is applicable for newer kernels as well.
Add the same check in NDI start for kernel versions >= 5.12.
Currently, host driver uses macro "MAX_NDI_ADAPTERS" to limit the NDIs.
Use the value of ini param "ndi_max_support" instead as this can be
configured differently(1 or 2) for different targets.
Change-Id: I355c42d60d6b86b4664ed001d7ed4d163a102159
CRs-Fixed: 3362601
On dynamic NSS update sent to FW, SAP is restarted
after disconnecting all connected clients. In the
restart procedure, MLO configuration is not updated.
Any new client connection is rejected by hostapd
with invalid link id reason.
In hdd_restart_sap() API restore the MLO configuration
to restart SAP in ML.
Change-Id: Ife8acf99b0bfa1a5415ea79dd3e522ef6377cad1
CRs-Fixed: 3352712
In current scenario, if eSAP_START_BSS_EVENT fails then host is
not de-initializing the timer hdd_medium_assess_init.
To address this issue, instead of de-init timer only for
eSAP_STOP_BSS_EVENT, host needs to de-init timer from a
common place.
Change-Id: I3b1304df2481d8276aeeec480b0ac3c1e35e5753
CRs-Fixed: 3363793
According to current host logic, host still start 100ms ap_ecsa_timer
when CSA count is reduced to 1. So even if TX successful indication
for CSA count 1 is received, host will have to do vdev restart till
ap_ecsa_timer time out. Per CERT case VHT-4.2.16h, wlan cannot send
any more frames once beacon frame of CSA count 1 send out. But in FW
side, as long as sap doesn't vdev do restart yet, it still periodically
send fils discovery action frame, which cause cert case VHT-4.2.16h
failed.
Due to CSA is implemented in host, FW don't know current CSA count of
beacon template. So add the fix from host side.
Change-Id: I969494aa6e8c9df2cc4284169561f347fd4bd3ab
CRs-Fixed: 3352882
The kernel-doc script identified a few documentation issues in
components/disa, so fix them.
Change-Id: I211fac8d786a64023f9ba2038d5849c418c38159
CRs-Fixed: 3356921
If some 20M sub channels are disabled for puncture, bonded freq state will
become CHANNEL_STATE_DISABLE, while CHANNEL_STATE_DFS is expected if
DFS freq is included to pass CHAN_DFS_CFREQ2 to F/W by vdev start wmi cmd.
the check also happens in several other places.
To fix it, use API wlan_reg_get_5g_bonded_channel_state_for_pwrmode to
replace wlan_reg_get_5g_bonded_channel_state_for_freq and
wlan_reg_get_bonded_channel_state_for_freq.
set is_create_punc_bitmap of ch param as true, then bonded freq
state will become CHANNEL_STATE_DFS after
reg_update_5g_bonded_channel_state_punc_for_pwrmode called.
Change-Id: I3e5214e9e09ac2a959f6fa7d641173a80a3980a7
CRs-Fixed: 3360820
Enable the WAR to handle incorrect setting of first msdu
in mpdu flag for an mpdu with more than 6 msdu.
Change-Id: I7f7219828f2787b889a26092476bd76b97dee149
CRs-Fixed: 3363780
TIM ie size previous fixed value is wrong, the size shall
be calculated according to the maximum number of STA.
Change-Id: I80700fd101fcfb6bb3e2e915f1188a3190e369f8
CRs-Fixed: 3347274
When STA is associated to an AP, the LTF keyseed is derived
from KDK during EAPoL exchange and in multi-link case the LTF
keyseed needs to be configured for all the links for each
link address. But currently PTK derived is configured for each
link address and LTF keyseed is not configured for each link
address. This causes phy security ranging failure.
Send set LTF keyseed for all the active MLO links.
Change-Id: Ic978f9096d763f0f975a28dc3b3a00fb8fb1237f
CRs-Fixed: 3351633
Allow roam invoke on bssid in monitor list but reject bssid in
deny or reject list.
Change-Id: I639f30e194fdb3f5521e0483a7b8151d48134450
CRs-Fixed: 3359171
Enable the PRE_CAC_SUPPORT for qca6390 by default to fix the AP start
failure on the DFS channel.
Change-Id: Iacc513c6804c1b51dd6752a74423fb9d5e6a8194
CRs-Fixed: 3353106
For ML connection, send the link_id on tx control port as per
6.0 kernel.
For legacy or non-ML connection don't need to send this info.
Change-Id: Iad3337481d62fd9cc2c35744a6aa1af14ab89d59
CRs-Fixed: 3342965
Currently there is no attribute to set the wifi calling state
from user space to fw.
With this change add an attribute to set wifi config vendor
command to configure wifi calling state to fw via platform
driver.
Change-Id: I982e9a7245b9e5108cd6cbcb4162daa4b4b6a412
CRs-Fixed: 3345705
Currently, link frequency is fetched from roam sync indication
based on vdev_id. But the vdev_id is of assoc link in OWE/1x
cases(where link vdev would be down as part of roam sync handling)
but it would of non-assoc link in case of other modes
like SAE/WPA2/.. So current fetching of frequency based vdev_id
may give invalid frequency in SAE case as non-assoc link vdev_id
is passed.
Fetch the frequency based on link mac addr to avoid such failures.
Change-Id: I0a5748ac351473d85b21f2da8d8f124715c4d595
CRs-Fixed: 3358448
Add AFC common include path to regulatory include path.
Enable AFC feature for sdxlemur.
Change-Id: I6b936b3f6443868f05cf86351bcf31d24d65bbbc
CRs-Fixed: 3154178