Currently, there is no provision to identify that the driver supports
NAN pairing protocol. So, new kernel will start exchanging PASN frames
without realization that old driver is loaded and thus, frames will be
drops in driver.
So, to resolve the backward compatibility issue, kernel introduces new
feature flag "NL80211_EXT_FEATURE_SECURE_NAN".
Firmware send "max_pairing_session" parameter in NAN capabilities and
host driver extracts the parameter and set the feature flag to kernel
when max pairing session has non-zero value.
Change-Id: I3b83a771c99bf2e91a4ed1a14acafe584d6e17ec
CRs-Fixed: 3493345
when STA roams from multi link AP to single link AP,
the non-assoc link gets cleaned up(through disconnect path) and
RSO gets disabled as part of this. But RSO doesn't get re-enabled
when link cleanup is completed. So, STA can't roam further.
Remove the check which skips RSO enable if the current
disconnecting vdev is of type MLO link. Next API
policy_mgr_get_roam_enabled_sta_session_id() can fetch the
right valid vdev to enable RSO. Don't update PCL to
firmware as there is no need to update again as part of link
cleanup. Firmware has already got the PCL as part of assoc
vdev RSO enable.
cm_roam_switch_to_init() takes care of not allowing RSO enable
in disconnect case as the assoc vdev CM is in
WLAN_CM_S_DISCONNECTING state.
Change-Id: I155bb93868653d5575f81559c48b86b40cf5d59c
CRs-Fixed: 3487290
Drop any vendor command request to enter EMLSR mode if there
are any concurrent connections existing with MLSR STA as
this combination is not supported.
Change-Id: I3b1f2bbe714c83628a8394068f7483d3913ce421
CRs-Fixed: 3478257
Since fw update the logic of roam stats, the data of
wmi_roam_trigger_reason maybe null when fw send event
of WMI_ROAM_STATS_EVENTID to host driver, and at that
time, the num_roam_trigger_reason is zero, we don't
need reduce the length when extract roam stats event.
Change-Id: I332de7ba2d2efeba722e2194af4b9c97ef310a73
CRs-Fixed: 3475501
Host sends roam scan offload channel list via WMI_ROAM_CHAN_LIST
to FW after a successful connection.
The host creates a ROAM_SCAN_CHAN list with BSSID entries present
in the scan database. If the connection to an AP fails due to
Auth/Join/Assoc timeout, Host removes the AP entry from the Scan
database, assuming it’s not reachable (to avoid reconnecting to the
AP as it's not responding). Due to this, FW does not include the
frequency(s), for which the connection failed, in roam scan.
Fix is to store the frequency(s) of all the candidates to which the
driver tried connection in the rso config during connect resp failure
and use the same list to update the roam channel list on the top of
entries present in scan db.
Change-Id: I7a4bb3961a64fcf987cb6f2be87b6475363d500a
CRs-Fixed: 3486154
With the commit(Ic425cc065a29bbc444531f523eaccb14014ae47a) driver
enqueues the TDLS peer deletion as part of roam sync indication
and then enqueues the TDLS disable notify to firmware. But before
this driver is processing the TDLS enable notify which is part of
add_sta and then the TDLS disable is getting processed and
notified to firmware, which results in disabling the TDLS after
roam.
The correct sequence during roam should be delete the TDLS peers,
followed by TDLS disable notify to FW and then TDLS enable notify
to FW.
Driver already take care of deleting the TDLS peers as part roam
sync indication callback. This change calls the TDLS disable
notify API only after deleting the TDLS peers during roam.
Change-Id: I58ef78852290c95e6709e6aa1b0671916322625f
CRs-Fixed: 3486585
Currently, single API is being used to get sap freq for
both HT and LT profile type sap which may cause issue in
future because one could be in MCC but other will be strictly SCC.
To avoid any issue different APIs are introduced for different
AP profile type.
Change-Id: I7108ef96896d3bec2116c6936884500d82b24fa0
CRs-Fixed: 3489049
Currently, in Kbuild, the following switch is duplicated in the
ccflags: -Icmn/umac/global_umac_dispatcher/lmac_if/inc
One instance is populated here:
UMAC_DISP_DIR := umac/global_umac_dispatcher/lmac_if
UMAC_DISP_INC_DIR := $(UMAC_DISP_DIR)/inc
[...]
UMAC_DISP_INC := -I$(WLAN_COMMON_INC)/$(UMAC_DISP_INC_DIR)
The other instance is populated here:
[...]
UMAC_OBJMGR_INC := [...]
-I$(WLAN_COMMON_INC)/umac/global_umac_dispatcher/lmac_if/inc
Remove the duplicate switch.
Change-Id: I46333836b427d047d8b5471c67b65698ca0b5417
CRs-Fixed: 3490071
Change I12af832d81815277ec6014ff5047bf960f01534a ("qcacld-3.0: Replace
CONFIG_MCL_REGDB with CONFIG_REG_CLIENT") replaced all usage of
CONFIG_MCL_REGDB.
Subsequently Change If2fb00bd2298aa6f43418b3e4694aa995887b4f3
("qcacld-3.0: Add qcs40x.snoc.perf_defconfig") added a new
instance. Since this instance is pointless, remove it.
Change-Id: If464eb9f510ded7fe9f2cfac3e16263f35fe3af6
CRs-Fixed: 3489450
Change If98ecaace17f8724e9c28325ef61e721f42e1d8f ("qcacld-3.0: Combine
all NAN related flags with WLAN_FEATURE_NAN") removed all usage of
CONFIG_WLAN_FEATURE_NAN_DATAPATH, but did not remove the references
from the defconfig files, so do it now.
Change-Id: I1484a8917c1128637bd16009bd2237b6e99976f0
CRs-Fixed: 3489449
Add multi page prealloc pools for TX buffers and CE
TX buffers for direct link datapath.
Change-Id: I8c8be42b0530de39293ad8e45f47e16f90ea7767
CRs-Fixed: 3490109
Add a new cfg item to drop connection request if
AP is operating in 6 GHz SP mode and STA doesn't
support SP mode but supports VLP mode.
Change-Id: I0f20d63f68b2424390ca424188f95f26971c9ada
CRs-Fixed: 3470602
relaxed_6ghz_conn_policy cfg item is no longer needed
with new regulatory policy as there is no dependency
on STA, AP country code to find 6 GHz power mode for
connection and also connect request should be rejected
if AP is advertising VLP and STA doesn't support VLP.
Hence remove this cfg item and the related APIs.
Change-Id: I3a48a3c6343e57f4f2386ebbab1f88d5052af505
CRs-Fixed: 3470571
Find the best 6 GHz power type for connection
according to following regulatory policy:
1) SP power type is selected only if AP advertises
SP and client supports SP.
2) LPI power type is selected only if AP advertises
LPI and client supports LPI.
3) VLP power type is selected for the below cases,
a) AP advertises VLP and client supports VLP
b) AP advertises SP but client doesn't support
SP but supports VLP.
c) AP advertises LPI but client doesn't support
LPI but supports VLP.
Change-Id: I582fb582e1e11b731a1c6cda01f4fc366f166143
CRs-Fixed: 3456192
For CSA of eht connection, when update peer bandwidth, need update
puncture bitmap at same time.
Change-Id: I388dfcbe862a55e99894ce97e4ce551eede5e816
CRs-Fixed: 3488977
Roam background scan abort, driver print roam result
failed, but current ap is still connected.
Change roam abort background scan log instead of fail.
Change-Id: Ia10f010e8c353b12bdbbe0407c8e3d30b1ea45c2
CRs-Fixed: 3469290
Caller of wlan_cm_get_rnr, uses the cm request data without
lock.
Fix it by passing a local memory to wlan_cm_get_rnr to get
a copied data to use.
Change-Id: I574de5391dd02c1603e7c9c4b79b58d45e6e7739
CRs-Fixed: 3483870
Currently in driver, the vendor attribute QCA_WLAN_VENDOR_ATTR_LL_STATS_TYPE
uses values defined in the enum qca_wlan_vendor_attr_ll_stats_results_type,
which is defined internally but never upstreamed.
So, for the attribute QCA_WLAN_VENDOR_ATTR_LL_STATS_TYPE, use values defined
in the correct enum qca_wlan_vendor_attr_ll_stats_type which is upstreamed.
Change-Id: I143f9c8f50ab2f7a7ede68625552f07f4c50f73d
CRs-Fixed: 3489547
In api wlan_hdd_connectivity_fail_event(), the reason code
of connect response is checked.
Removing the reason code check as there is no reason code
that is zero and this check is redundant.
Change-Id: Ib516cdba75fa8af6df13805313233fe9c02a3983
CRs-Fixed: 3486387
DPP bootstrapping/provisioning/configuration can happen
with or without connection. So such types of action
frames host should forward to the supplicant
irrespective of connection mode.
The fix is to forward public action frames with no session
to supplicant.
Change-Id: I0c3405726c4d484deaeadb5a1f5917a969a16495
CRs-Fixed: 3481196
PASN peer do not get deleted unless the peer is same
as roaming bss peer. Therefore, if peer is not found
during configuration of the ltf key seed, then either
the BSS peer is not yet created or the PASN peer got
deleted because of connection with that BSS.
Either way, PASN auth status need not be sent, therefore
return success if PASN peer is not found during ltf key
seed configuration.
Change-Id: Icb663dd32d3d109a4387dad2ea0c98faf23bebd7
CRs-Fixed: 3475648