Add a support to check if low latency SAP is present on 5 GHz
channel then do not allow SAP/GO to come up on 5 GHz for
both gaming and lossless audio profile.
Change-Id: Ibb9e3365522beec541f70c6c45b8cb68405fd3bc
CRs-Fixed: 3294748
Add a support to check if low latency SAP is present on 5 GHz
channel then do not allow STA/GC to connect on 5 GHz for
both gaming and lossless audio profile.
Change-Id: I8e1c62dfea3c27306e338392448f5cc6eed912aa
CRs-Fixed: 3302763
Low latency SAP is supported on DBS and SBS hw and it can come
up on below two profile
a. Gaming
b. Lossless Audio
DBS: Allow only 2.4 GHz channel for both gaming and lossless
audio profile
SBS: Allow non low latency SAP 5 GHz channel which are mutually
exclusive for both gaming and lossless audio profile.
Check whether low latency sap is present or not. If it's present
then get the frequency to validate the concurrency with other
interface.
Change-Id: I39715a01e63de612448d4d0f230e6ccb71b76b15
CRs-Fixed: 3294596
Userspace provide below vendor attribute for low latency sap
concurrency
a. QCA_WLAN_VENDOR_ATTR_CONCURRENT_POLICY_AP_CONFIG
This userspace uses the below value defined in enum
qca_wlan_concurrent_ap_policy_config to specify concurrency
policy
a. QCA_WLAN_CONCURRENT_AP_POLICY_UNSPECIFIED = 0,
b. QCA_WLAN_CONCURRENT_AP_POLICY_GAMING_AUDIO = 1,
c. QCA_WLAN_CONCURRENT_AP_POLICY_LOSSLESS_AUDIO_STREAMING = 2,
Convert this above enum value in host to use in concurrency
scenario.
Change-Id: Ibab06f528fd99d8c421376bd02e4c748e9556b70
CRs-Fixed: 3302418
Current code has wlan_coex_public_structs.h in qcacld, when it should
be in qcacmn due to convergence of the COEX feature.
Fix this by moving the header file to qcacmn.
Change-Id: Id45c85e0ff492d149cac71c8c0ca5443b879ef15
CRs-Fixed: 3289250
fix dp memory pre-allocation failure as below,
(1) add pre-allocated memory for extra contexts of
DP_RX_RING_HIST_TYPE on beryllium.
(2) add extra RXDMA_BUF type's memory for SW2RXDMA ring and size same
as RX refill ring size for now.
(3) add pre-allocated memory for REO_STATUS & RXDMA_MONITOR_STATUS ring.
(4) add pre-allocated memory for DP_MON_PDEV_TYPE.
Change-Id: I038d946cf1b8c9dc67c1539ea972bda8239def4d
CRs-Fixed: 3314198
Control Preamble Puncturing feature via INI "he_rx_pream_punc"
and UL MU-MIMO feature via INI "enable_ul_mimo".
Change-Id: Ib4d6fd10c9e4f46c1baa5070f94d8dddd4978757
CRs-Fixed: 3305742
Add INI g11be_oui_allow_list to config 802.11be AP oui which
is allowed to get connected in 802.11be mode.
If the INI is empty, all the ap are allowed to get connected
in 802.11be mode. If INI is set to "ffffff 00 01", then STA
is not allowed to connect to any AP in 802.11be mode.
Change-Id: I98e545ba909c1746237a20c365f8297f16fe666f
CRs-Fixed: 3304021
Check for HESIGA_VAL15_ALLOWED bit before enabling SR prohibit
in SR control field
Change-Id: Ie902941c7642d76901adbf5d685265c0552a814c
CRs-Fixed: 3308160
Add async event for Spatial Reuse and also send Spatial Reuse
enable / disable event to upper layer due to same MAC concurrency.
Change-Id: Idcb5b99e39f1810e63ae7ac1e8d2eab6028a163f
CRs-Fixed: 3307801
Add check for concurrency with SR, if SR with concurrency
is not enabled then disable the SR on existing VDEV as soon as
new VDEV is up.
When this new VDEV is disconnected, then enable back the SR on
the previous VDEV.
Change-Id: Id6aee592b889bb7006efb44420e6d272212e13ba
CRs-Fixed: 3306181
Send WMI_PDEV_PARAM_SET_CMD_OBSS_PD_THRESHOLD during PDEV
init with disabled PD-Threshold value to initialize SR related
registers in HW.
Change-Id: I49e73c76974e098b6dfbf647a898b53abf8ea2ba
CRs-Fixed: 3306179
Add below two enhancements for SAP
1. Spatial Reuse enabled in single MAC concurrency
2. Set bit HESIGA_Spatial_reuse_value15_allowed in SRP IE
Change-Id: Id2d3d04ae1b3b9a2e6d84f30749b577bc7b79061
CRs-Fixed: 3305447
Add support to parse VENDOR_SUBCMD_SR and to parse
nested attributes OPERATION and PARAMS and to handle
ENABLE operation, Disable operation and prohibit
operation. Enable opeartion may have PD threshold
or in case vendor command doesn't provide PD threshold
host will send PD threshold advertised by AP.
Change-Id: Ie98a1b8681f41f3a63523ac40b5cfb688a7b0cb0
CRs-Fixed: 3299042
SPMK global cache in the vdev private is persistent
across connections. Therefore, in cross-ssid roaming
cases with different AKMs, SPMK in the global cache
will always be sent to the firmware in RSO start, even
for non-SAE connections. This causes roam failure.
Reset the spmk global cache for every new connection.
Change-Id: I03deefe16242ef79d0985a8c05881914e6f7af01
CRs-Fixed: 3310182
Add changes to enhance the debugs in the RSO path,
to identify the current pmk stored in the rso config.
Also, restrict the PMK dumps to a minimum size of 2.
Change-Id: I6e89afed45f5d43b45508ae43b59400a6e24e5ef
CRs-Fixed: 3312677
Handle twt renegotiation failure scenario when there is
error reported by firmware as part of
wmi_twt_ack_complete_event_id event.
Change-Id: I91e4bfd8f08ae81b474354c90ab8c770dcdfe19b
CRs-Fixed: 3297783
To protect user privacy, print SSID with QDF_SSID_FMT
and QDF_SSID_REF, then SSID will be hide in logs if
anonymization is enabled.
Change-Id: I3dd129b52c85c84e666f4f07b28a1e58f81259b7
CRs-Fixed: 3291841
Currently the AKM information is sent as uint16_t variable
this leads to truncation of 1byte in connecting event of
advanced connectivity logging.
Update the AKM data type from uint16_t to uint32_t.
Change-Id: Ibe359636cb32b66ed99ee8ccb8ce33299908325b
CRs-Fixed: 3307515
For STA mlo connection the AP might send M1 right after assoc
response on assoc link which can result in keys sent down to FW
for mlo links before host has sent wmi_peer_assoc for link vdev.
Current code does not have handling for this case.
To solve this, store the keys and once connection is completed
on link vdev send keys.
Change-Id: I3675451ef0e047caf8c77d256ea67f0eac6ed797
CRs-Fixed: 3289589
If is_pre_cac_on is set, in __wlan_hdd_del_virtual_intf firstly
frees the sap context by calling hdd_clean_up_interface and then
frees the pre cac by calling hdd_clean_up_pre_cac_interface this
will fails to access the sap context which is already freed.
So, replace order of calling, firstly hdd_clean_up_pre_cac_interface
and then hdd_clean_up_interface.
cds flush work will cancel the work which will not delete the pre cac
vdev. Replace with qdf_flush_work will wait for a work to finish,
executing the last queueing instance.
Assign NULL to fn and arg of pre cac work to ensure proper cleanup
of work
Change-Id: I093bf627ce7a73e7c4f7c4cf30e2ec56814a80ed
CRs-Fixed: 3286477
In management frame TX path from userspace, the
p2p_set_mac_filter structure is used and is defined under P2P
converged macro.
Converge this p2p_set_mac_filter structure to set_rx_mac_filter
structure in qca-wifi-host-cmn to use this by all components
Change-Id: Iefcf36f8b327458b2418bd364ae84b28ca56e7f9
CRs-Fixed: 3306700
To avoid wma_vdev_detach_callback() is run under interrupt
context, post wma_vdev_detach_callback() to driver scheduler
when vdev delete is failed to send to FW.
Change-Id: I87a603de326789ac43dac34de31eb564f13d11f5
CRs-Fixed: 3308547
With FEATURE_WLAN_TDLS=n, compiler is throwing implicit
declaration error of function wlan_tdls_get_features_info.
Hence add wlan_tdls_get_features_info stub declaration for
FEATURE_WLAN_TDLS=n.
Change-Id: Ia9820e630b756befbfda98330be193760a331c93
CRs-Fixed: 3309612
Build failed once WLAN_TRACE_HIDE_MAC_ADDR is enabled,
due to 'error: type mismatch in conditional expression'.
To fix it, correct the parameter for QDF_MAC_ADDR_REF.
Change-Id: Ifd89b02ab5fb2e3b59291c303ad93b691616dc57
CRs-Fixed: 3308193
In case if supplicant issues probe request without ROC,
Host should drop it for STA mode.
Change-Id: I290f441f6ddc41dd8d7434ad7d4fd1b4fcc0c22e
CRs-Fixed: 3296264
Currently for mlo roaming if roam sync event is not
handled roaming is aborted only on that vdev,
other vdevs are not cleaned up.
Another issue is link vdev is added to connection manager
list but not removed.
To fix this code change made to abort roaming on all links.
Also remove request from connection manager list.
Change-Id: Ib6e9db21b64e5c44ab7d51ebf795b169c5e7eb29
CRs-Fixed: 3305685
Currently, host driver sends NAN enable and disable request to
firmware and wait for its response to change the NAN state in
driver. But, when firmware is down (during SSR), driver is in
recovery state and so, timeout occurs while waiting for response.
To fix this, driver does not need to wait for NAN enable/disable
response from firmware in recovery state. It can directly take the
action and change the NAN state machine. Hence, add flag to check
the driver recovery state. If recovery is in progress, then driver
does not wait for firmware NAN enable/ disable responses.
Change-Id: I0325240cc082d8ef91d48793d3da2eea552d59cd
CRs-Fixed: 3307543
Host driver sends ROAM enable to firmware by setting the
vdev param WMI_VDEV_PARAM_ROAM_FW_OFFLOAD and the internal
state is moved from WLAN_ROAM_DEINIT to WLAN_ROAM_INIT.
Then host driver can send ROAM SCAN OFFLOAD enable and firmware
honors it. Firmware drops the RSO enable command if ROAM enable
vdev param is not sent. Host tracks RSO enable through the states
WLAN_ROAM_RSO_ENABLED/WLAN_ROAMING_IN_PROG/
WLAN_ROAM_SYNCH_IN_PROG/WLAN_MLO_ROAM_SYNCH_IN_PROG.
Have different APIs to track ROAM enable and RSO enable which can
help to cleanup the corresponding params/states.
It's observed that ROAM enable/disable vdev param is not sent
to firmware properly when RSO is stopped in some other path
than disconnect (e.g. SAP concurrency, fast_roaming_disable
through wpa_supplicant). Check if the roam state is INIT and
send ROAM DISABLE to firmware while disconnect.
Change-Id: I1074c8f93e21f02086dfbcfae61fa6deb91c7d9d
CRs-Fixed: 3305563
More than one roam sync frame event can be sent from FW so
the beacon, reassoc req or rsp length can be zero.
Hence the current code validation check is incorrect resulting
in roam abort.
To fix this, change the validation to check if beacon,
reassoc req or rsp value is non zero and then check the size.
Change-Id: I6ddec91686c23d9b8dac4c891b37bb1ce9d0fb30
CRs-Fixed: 3306428
In beacon loss, roaming condition is triggered when client doesn't
receives beacon packets from connected AP for 3 to 5 Secs.
There is no significance of 6Secs and 10Secs timeout in wakeup
and sleep modes respectively, as STA will disconnect after
partial+full roam scan.
Trigger beacon loss roaming that is half of link loss timeout
in wakeup and sleep modes.
Change-Id: I12ef4201a0457ca716ad857caad6c1be334e17f0
CRs-Fixed: 3306658
Add the logs for the mld address of the self and peer mld as
part of the current connection info.
Change-Id: Ie73a9b94cb13cf0f4c70eb4ad212e2fc3bd7ff22
CRs-Fixed: 3300168
Replace all occurrences of
wlan_reg_get_channel_state_for_freq with
wlan_reg_get_channel_state_for_pwrmode and use extra
parameter as REG_CURRENT_PWR_MODE.
Change-Id: I7f7e4e700091918eeebc87ccbbc85ececdd9bf52
CRs-Fixed: 3145011
We need to update RoamRSSI_Trigger min/max to support new INI values.
Fix is to revert min/max and default back to original values.
Change-Id: I75f0b76ae920c885a1150d95ea011e5612ef62fd
CRs-Fixed: 3304654
Add check 11be supported before send the MLO roam config wmi
command by API wlan_psoc_mlme_get_11be_capab.
Change-Id: I101e2c614efd44c7eabac0f45dc558e044185b6b
CRs-Fixed: 3305746
In kernel 5.17, complete_and_exit is replaced with
kthread_complete_and_exit. So if kernel version is >= 5.17,
then use kthread_complete_and_exit.
Change-Id: I8b5ed5bbeade9d2044e375695e6e15208e10147d
CRs-Fixed: 3297438
This change
1.fixes the use of uninitialized
variable in host driver.
2.Adds validation in extract_roam_sync_frame_event_tlv
Where these frame lengths are getting populated,
also at the place where subtraction happens to prevent
overflows
3.Adds NULL check in wma_handle_roam_reason_deauth, to avoid
the null pointer dereference.
Change-Id: I2d5ba61fb109f6d8b497df29cfa2dd572c00adeb
CRs-Fixed: 3297792