Previously, if STA is connected to DFS channel and SAP starts on
Non-DBS HW, then it is forced to start on DFS channel with BW 160 Mhz
irrespective of BW on which STA is connected without CAC.
Even after STA disconnects, SAP remains on DFS channel with BW 160Mhz.
So, scan will be disabled and STA cannot be connected on any channel
other than DFS channel.
If STA is connected on non-DFS channel on 5 GHz and SAP starts, it
will start on non-DFS channel as primary channel with BW 160 Mhz
without CAC. Also, scanning was also allowed when SAP is started with
BW 160 Mhz. This might violate regulatory in case radar comes up while
scanning.
Standalone SAP on DFS channel was not allowed.
To fix this, Force set SCC for non-dbs HW, this way standalone SAP
can come on DFS channel but scan will be disabled in such case and
STA cannot be connected other than DFS channel.
In case STA gets connected to dfs channel in non-dbs HW, then sap
starts only on STA channel with force SCC with BW
MIN(sta_chan_width, CH_WIDTH_80MHZ).
Afterwards, if STA disconnects, restart the AP with BW CH_WIDTH_80MHZ
on safe channel. Scan will be allowed as the DFS master capability is
offloaded to AP with which STA is connected on DFS channel.
Also, if standalone sap starts, then STA connects to DFS channel then
SAP will restart with STA channel frequency and Channel width
MIN(sta_chan_width, 80MHZ).
If standalone SAP starts and then STA connects to non-dfs AP or SAP
starts when STA is already connected to non-DFS AP, then ch_width is
MAX(sta_chan_width, 80MHZ) (5 Ghz) or 20 Mhz (2.4 Ghz).
If STA disconnects during SAP+STA on non-DFS, SAP won't restart unless
the STA was connected on BW 160 Mhz.
Change-Id: I1cebfc79f170c1e4e2710ed747ec804df3d8b441
CRs-Fixed: 2809255
Add an INI to configure the wow-mode logging config.
So that,the fw would use this bitmap for logging when it
is in wow mode.
Change-Id: Ib2fbd0c5c9cc573b2f5b12dcdf06682c16550cb2
CRs-Fixed: 2810372
Rename struct wlan_cm_connect_rsp to wlan_cm_connect_resp for
better readability and to avoid duplication of the structure
and function name as there is already a function with the same
name.
Change-Id: I331365058ed25b902aae11f979512b4edcd3ac06
CRs-Fixed: 2809137
Move ini CFG_VENDOR_ROAM_SCORE_ALGORITHM from qcacld-3.0 to qcacmn part.
from qcacld-3.0: mac_ctx->mlme_cfg->roam_scoring
to qcacmn: mlme_psoc_obj->psoc_cfg.score_config.
Change-Id: I318f0d516ce699c061f268116e1cbf79fcc9e23a
CRs-Fixed: 2806090
Since new rso ROAM_OFFLOAD_V1 path is enabled, remove
the old rso path code for cm/wmi roam related files.
Change-Id: Iec350f032c3e037204f560199d4a6e258ac02688
CRs-Fixed: 2810145
Roaming between different PMF option APs has following issues:
1. Roaming between Optional -> Disabled -> Optional
When STA roam to optional, PMF is set to False from STA in reassoc
request and all management pkt not secured.
2. Roaming between Required -> Disabled -> Required
STA not able to find candidate AP when tried to roam to AP with PMF
Required.
Root cause: When LFR3 roam happens, vdev_crypto_params will be reset
including rsn_caps 11w PMF, if new AP hasn't enabled PMF, vdev rsn_caps
11w PMF is disabled too, and passed to F/W. Then F/W think DUT STA
doesn'tsupport PMF, then failed to roam to AP with PMF Required and
enabled.
Fix:
Get self-capability of 11w PMF from connected profile and pass to F/W in
WMI_ROAM_SCAN_MODE by wmi_fill_rso_tlvs after roaming.
Move target_if_cm_roam_fill_11w_params to csr_cm_roam_fill_11w_params,
put protocol part to csr connection manager.
Change-Id: I543799385ec8c0ec7afdf64e2310c24758305095
CRs-Fixed: 2807454
Memory is created for the mlme legacy pointer during the create
of the mlme legacy priv object. This allocated memory doesn't get
free when an error condition which leads to device crash.
To avoid this problem memory should be freed before returning from
the error condition.
Change-Id: I8aaaf7bf17cf38f70135e5ff00db429c34aff2d8
CRs-Fixed: 2803896
Use separate hang reason for case that lack of credit after suspend.
Meanwhile add hang buf offset check to avoid overflow.
Change-Id: Ic794d02672cd663598da66b9e75924c41b5ef0e8
CRs-Fixed: 2801343
Move the logic to get HT and VHT caps in LIM from CSR also store
VHT and HT caps in vdev mlme instead of csr session.
Change-Id: I29b8e836a79a4a9eda5088c0eb2e0bf48d616de2
CRs-Fixed: 2807209
In the scenario where IPA UC ready work is processed after
wlan_ipa_uc_ol_deinit, triggered as part of idle shutdown,
there is a possibility for NULL wbm srng pointer derefernce
when setting the tx doorbell address.
Fix is to avoid scheduling UC op work when deinit is in
progress.
Change-Id: Ifa0908912b77f45b7d93c5f9c2f5aaf9e17685c5
CRs-Fixed: 2807218
Disable IPA when second SAP is turned on only if NAPI support
is enabled for IPA path.
Change-Id: Id30714156a959ed940d0480cb0e0d8db467c821f
CRs-Fixed: 2807158
Stats event from target might have several sub events, and some event
has no peer stats but have adv/ext2 peer stats.
Check ext/ext2 peer stats even no peer stats in
target_if_cp_stats_extract_peer_stats(). Fix copy adv stats size error
in tgt_mc_cp_stats_prepare_n_send_raw_station_stats(). Although
get_station_stats_cb and get_peer_stats_cb is union callbacks,
better to assign to get_station_stats_cb because it is for
TYPE_STATION_STATS.
Change-Id: I0bead0cbb8b549cc538ef4a7327f0a8303c90bd1
CRs-Fixed: 2801842
Currently pmo_psoc_get_vdev api just returns the vdev without
taking the vdev reference and it is caller's responsibility to
take the reference, there could be a race condition where after
getting the vdev and before getting the reference of that vdev,
some other thread may delete this vdev.
To avoid this issue use objmgr api to get the vdev for pmo.
Change-Id: I3495589e2dbbb7d8efc579a62fff1a08a92c318f
CRs-Fixed: 2771211
Add support for connect and disconnect path
in legacy cld files with respect to connection
manager.
Change-Id: Ia42dd45d943de20d91279c0197b0f17a5c0326eb
CRs-Fixed: 2805807
In DBS mode, gDualMacFeatureDisable can be 0, also can be
6: enable DBS for connection but disable simultaneous scan.
Change-Id: Ia3d46dbd2e67644e84436b90f40c203bc939eda7
CRs-Fixed: 2807010
Add a new action OUI to disable TWT for certain APs.
The cfg item will be present in the host and sent to
the FW to disable TWT.
Change-Id: I122c44993a9102838dec7e9eb2817ba404a76515
CRs-Fixed: 2793124
Host adds support to send enable/disable wfa config for FILS_DISCV_FRAMES
to firmware.
Change-Id: I0143b158b5f62b42c0d4c3d8a34a7ec7b1ec994b
CRs-Fixed: 2801144
Handle firmware thermal stats event and populate the thermal
information to upper layer with vendor command event.
Change-Id: I83286367ab542c08a205a7636f3d03189b0500e5
CRs-Fixed: 2786623
Change return type of following APIs from int to QDF_STATUS.
wmi_unified_register_event()
wmi_unified_register_event_handler()
wmi_unified_register_raw_event_handler()
wmi_unified_unregister_event()
wmi_unified_unregister_event_handler()
Change-Id: I534b499edbcfec6eddea0e9ed48f9eb1a2e872c8
CRs-Fixed: 2791275
NDP connection will be active for keep alive period even after receiving
NDP end request. The default value for this keep alive period if 20ms.
update the default value as 14ms to reduce the wait time for connection
termination.
Change-Id: I3d09ce764846d7e535a7369d32a730907b621735
CRs-Fixed: 2802723
INI he_twt_requestor and he_twt_responder should be able to disable/enable
twt requestor and twt responder.
Make them work.
Change-Id: I5e091a2f04cca1817f1a2db6358f141c2eaf103d
CRs-Fixed: 2798800
Host is not enabling WTC_BTM roam trigger via
roam_enable trigger command
(WMI_ROAM_ENABLE_DISABLE_TRIGGER_REASON_CMDID). Because
of this roam scan is not triggered and BTM response is
not sent to AP.
Fix is to enable WTC BTM by default
Change-Id: Ie33f8a298818955c886094d6f703b9603ab5b00e
CRs-Fixed: 2795665
In Interface manager, legacy roaming api's were used as roaming testing
was ongoing.Now testing is done so use converged roaming api's.
This will also resolve the KW warnings.
Change-Id: I9ef101e6ec02bb18c6f2f9a9fbdaa81dbe81f9a0
CRs-Fixed: 2798601
To discard 5G candidates based on RSSI threshold, Introduce
a new INI "min_rssi_for_2g_to_5g_roam" to configure the RSSI
for High RSSI Trigger.
Min: -120
Max: 0
Default: -70
Change-Id: If4545296ef1b53d18b8ae4abf12d450f5e690240
CRs-Fixed: 2789017
Currently, QCA_SETBAND_AUTO is backwards compatible, so it is set
to include only 2G and 5G bands. Update this to include 6G bands
as well. Also update the band capability INI to have the default
value 0 include 6G bands.
Change-Id: I98067c18e939ff4c1e7b1e778b020b44409b5b34
CRs-fixed: 2799883
The MDID is not updated in RSO command. So FT roaming
failure happens.
Update the MDID in RSO commands.
Change-Id: Ie68b379ab29c063c90d8461d0be34fd09a105e3f
CRs-Fixed: 2795319
Compiling connection mgr by gcc 9.3 will cause many implicit-fallthrough
compile errors.
Fix is to add keyword fallthrough to resolve such compile error.
Change-Id: I02fb3ff12d8cea81ce160b3aec1f590faf83a031
CRs-Fixed: 2798881
A htt message arrived after ipa context is freed as part of
deinitialization which was dereferenced by event handler
assigned to pdev->ipa_uc_op_cb, resulting in crash.
To fix this, cdp function is called during deinit to
deregister pdev->ipa_uc_op_cb and assign it NULL. Also, adding
NULL check in wlan_ipa_uc_op_cb. Also, registering ipa_uc_op_cb
after work is created so as to not hit condition where work is
scheduled before creation.
Change-Id: Ib79136b1122625079d8173a401dba5516126c621
CRs-Fixed: 2794663
Change the default value of in CFG_REPORT_MAX_LINK_SPEED
to CFG_STATS_LINK_SPEED_REPORT_ACTUAL instead of
CFG_STATS_LINK_SPEED_REPORT_MAX_SCALED so that
gReportMaxLinkSpeed uses the default value as zero which
was previously 2.
Change-Id: I459c807b1738e21a28c5b51e2eeb6a4bccb78662
CRs-Fixed: 2787888
In the Rome IPA case, it need wlanhost side to
enble/disable intrabss by WMI_VDEV_PARAM_INTRA_BSS_FWD.
If set to 1, the ip data transfer between two wlan clients
should be:
wlan client1 -> wlan fw -> wlanhost -> wlan fw-> wlan client2.
If set to 0, the ip data transfer between two wlan cleints
should be:
wlan client1 -> wlan fw -> ipa -> wlan fw -> wlan clients2.
Change-Id: I105ddbdb58f2cd01bdf94521bd7934508889de5d
gOclCfg is no longer supported and is being overwritten by
FW init config. Thus, remove gOclCfg ini from code.
Change-Id: Idf4d5280043a47650a68dc2159c386d94b0be5e9
CRs-Fixed: 2791392
Currently, if the TDLS timer expires while the scheduler thread
is processing something(e.g., station vdev destroy), the handler
would be in wait queue and it gets called once the scheduler
thread is done with its current task(i.e., vdev deletion).
TDLS handler tries to use the vdev even it has just got freed,
which leads to use-after-free.
This happens because of the below,
1. vdev destroy notification has no knowledge of the TDLS timer
expiry as timer_stop is used to stop the timer.
2. vdev is passed to TDLS handler as part of registration.
Fix:
1. Use timer_stop_sync in vdev_destroy_notification to make
sure the handler is posted to scheduler thread if the timer
had expired.
2. Get the vdev in handler from psoc instead of passing it to
the timer handler. This can make sure the vdev is referred
only if it exists.
Change-Id: I186fd0d44b2364ebb375a8445dd1239368543e7b
CRs-Fixed: 2792020
Currently, If hadware is not dbs capable opportunistic timer
can not be started. In function if_mgr_connect_complete
policy_mgr_check_n_start_opportunistic_timer fails to start
opportunistic timer in case of non-dbs hw and sap restart
doesn't happen.
Fix is not to validate status returned by
policy_mgr_check_n_start_opportunistic_timer to restart sap
in case of non-dbs hardware.
Change-Id: I3308a5c10341950d51419907cc767c09f967b7b1
CRs-Fixed: 2792764
Currently the roam scan scheme for each trigger is hardcoded to
either full scan or partial scan followed by full scan. Based on
the new requirement for home scenario,the user space configures
roam scan scheme for various triggers. Add support to send scan
scheme type for indvidual roam triggers enabled from userspace.
The default value of roam scan scheme can be modifed for
below roam triggers:
WMI_ROAM_TRIGGER_REASON_PER,WMI_ROAM_TRIGGER_REASON_BMISS,
WMI_ROAM_TRIGGER_REASON_LOW_RSSI,WMI_ROAM_TRIGGER_REASON_BSS_LOAD,
WMI_ROAM_TRIGGER_REASON_BTM
Change-Id: If8b185897b813afc44af362d31172705ea4d7b5c
CRs-Fixed: 2785233
Add support to handle the nl80211 attribute -
QCA_ATTR_ROAM_CONTROL_TRIGGERS_SCAN_SCHEME. Send RSO update to
firmware if roam scan scheme value is received via the nl80211
attribute QCA_ATTR_ROAM_CONTROL_TRIGGERS_SCAN_SCHEME over the
QCA_WLAN_VENDOR_ATTR_ROAMING_SUBCMD subcommand.
Change-Id: If21281245097648380990b9218a722691279f598
CRs-Fixed: 2785256
Set nan_feature_config default as 0 from 1 in INI to have DW interval for
NMNS mode when device goes to suspend mode.
Change-Id: Ib0044ca36cba570f51edcc0006f8e54c55d673d3
CRs-Fixed: 2776238
If the INI item enable_mod_dtim_on_system_suspend is set, then
set the bit WMI_WOW_FLAG_MOD_DTIM_ON_SYS_SUSPEND in wow flag
parameter.
Change-Id: I15a717bd5f5532dd2c8a6e27e5df8c28965da062
CRs-Fixed: 2789161
In STA+SAP mode, RPS is enabled only for SAP interface and
not for STA interface resulting in low throughput as STA RX
will also take the IPA path.
To fix this, enable/disable RPS when SAP is turned on/off
when IPA is enabled
Change-Id: I67c0da2fbbb43bd7b34969bbb05c1127e60d5673
CRs-Fixed: 2783136
When the FILS erp keys are available, the RSN IE is
not included in the assoc request as the function
lim_update_fils_config() returns always if rrk_length is
non zero. Fix this to return only if malloc fails.
Also add additional debugs for RSN IE not included in FILS
authentication frame and remove call to
wlan_cm_update_mlme_fils_connection_info() from
update_profile_fils_info().
Change-Id: I75cc1b04c2fdcbf3e7c55dfac41254a2378233bb
CRs-Fixed: 2789793
With IPA team's request, in order to match
the pipe setting in the ipa driver of linux
kernel 4.14, we need to change ROME IPA
pipes from IPA_CLIENT_WLAN1_CONS and
IPA_CLIENT_WLAN1_PROD to IPA_CLIENT_WLAN3_CONS and
IPA_CLIENT_WLAN3_PROD. Meanwhile change MCC pipe
to IPA_CLIENT_WLAN2_CONS. Also add one feature
flag to avoid affecting other SPs
Change-Id: I99dd442801b1278742c19e4565da2201e1303607
The bit 5, 4, 3 are used differently in case of solicited and
unsolicited btm request. Update the description of the ini
param to provide clarity on the usage of these bits.
Change-Id: Ic9a596710da6b4692d578206bbd783f784a230fb
CRs-Fixed: 2787597
User sends wfa test configs to host using vendor command
QCA_NL80211_VENDOR_SUBCMD_WIFI_TEST_CONFIGURATION. Host parses the
vendor command and sends wfa test configs to FW using WMI command
i.e. WMI_WFA_CONFIG_CMDID
Change-Id: I5aa0bc8b0a0064828b48368e47d53a5ad5e7ff2f
CRs-Fixed: 2772013
Add cdp ops for IPA Tx buf SMMU-S1 unmapping and
call unmap from ipa_uc_ol_deinit if IPA uc_loaded,
also assert if mapping/unmapping failed.
Change-Id: I79f293fcf5d6f02e3a01d6c8ff829f4ca87e76e8
CRs-Fixed: 2788811