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
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
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
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
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
The userspace sends QCA_WLAN_VENDOR_SECURE_RANGING_CTX_ACTION_DELETE
action in the QCA_WLAN_VENDOR_ATTR_SECURE_RANGING_CTX_ACTION to delete
the pasn peer. Add changes to handle this action.
Change-Id: I30bcdadd792d5bf1271c61fa585c62d5255eee5b
CRs-Fixed: 3358878
Reset return value in wlan_hdd_cfg80211_handle_tsf_cmd
function so that QCA_TSF_GET command gets process.
Change-Id: Ia81d5e3920a6f707edcbdb05583f94798534b721
CRs-Fixed: 3353246
As part of Spatial Reuse, host has to send SR Suspend and resume
events based on concurrency which is not sent in case of NAN
concurrency.
Fix is to send SR Suspend in case NAN comes up and any STA that
supports SR is already present because SR is not supported in
case of NAN concurrency. Similarly during NAN disable check
if any other vdev apart from NAN is sharing mac with STA that
supports SR and SR support on same mac is disabled then don't
send SR resume event as there is already a concurrent vdev that
will take care of SR Suspend event otherwise send SR Resume event.
Change-Id: I56a9b455dd0166bc3997f8306992e46da759e992
CRs-Fixed: 3339713
Currently, srg color bit map and partial bssid bit map
is not updated correctly.
Fix is to parse srg color bit map and partial bssid bit
map array correctly from assoc resp and add it to 64 bit
map which will be used to send 2 bitmaps of 32 bits to FW.
Change-Id: I8114359f8dda246c9d210fefdb1be55a3d0568a3
CRs-Fixed: 3355534
SAP/GO doesn’t support below EHT capabilities, So the driver
should not advertise it in beacon, probe rsp and assoc rsp.
It can cause IOT issues if capabilities are advertised
without support.
1. tx_1024_4096_qam_lt_242_tone_ru
2. rx_1024_4096_qam_lt_242_tone_ru
3. non_ofdma_ul_mu_mimo_le_80mhz
4. non_ofdma_ul_mu_mimo_160mhz
5. non_ofdma_ul_mu_mimo_320mhz
Fix is to disable the above unsupported EHT capabilities
for SAP/GO's beacon, probe rsp and assoc rsp.
Change-Id: Ia958e2f3de7454eb5eff34a347e65f7510f433bc
CRs-Fixed: 3340585
Enhance the print of SAE TA, to always log the address passed to
cfg80211_external_auth_request().
Change-Id: I0765b3a0465d7271b3bf42bc7498d4b7e673c88e
CRs-Fixed: 3357863