This reverts commit "Change-Id: 5859acc0d6".
Above change is not required on this branch as the issue fixed
with above change is not present on this branch.
And because of the above change there is an issue of priority
inversion between disconnect stats and deauth/disassoc commands.
disconnect stats command should always execute before deauth/disassoc
commands so that peer stats can be retrieved before peer gets
deleted. with current implementation where both the commands have
high priority disconnect stats command will execute first if there
is no active command in the active queue else deauth/disassoc
command will be queued before the disconnect stats command and
if there are multiple clients connected to SAP and all gets
disconnect at the same time, disconnect stats command for all
the clients will be there in the serialization queue, because of
which serialization queue gets full and no other command can be
added to serialization queue.
To address above issue change the priority of the deauth/disassoc
commands so that disconnect stats always gets chance to execute
first.
Change-Id: I7041ddfcb195da5a9e203feb5bbb36e645141630
CRs-Fixed: 2808528
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
Currently IPSec packets encapsulated in UDP packets
are aggregated via FISA. This is leading to unwanted
behvaior of certain special packets (hearbeat etc)
being aggregated along with other normal packets of
a flow, thereby leading to use-case disruption.
Fix this by not aggregating IPSec packets.
Change-Id: Ieada556e7e3ef67d2c7a8e8ba4d7197c7660be0c
CRs-Fixed: 2783629
Enable pld_smmu_unmap support for ICNSS2 Adrestea targets.
This is needed to enable SMMU-S1 geometry support.
Change-Id: I8aa612810cc468269fa5c633276f9b3ba8135542
CRs-Fixed: 2808041
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
In lithium GRO is not supported with rx_thread
disable. Add similar handling as part of runtime
rx_thread disable.
Change-Id: I897179ecdfd83f8dde7cd997e943ffb276b1afad
CRs-Fixed: 2794023
Pdev is created once all the modules are enabled and currently
it is freed after the cds close is done, if some of the modules
as part of the de-init sequence has to send a command to the firmware
it will result in error.
To keep the deinit sequence opposite to that of init close/destroy
the pdev before closing the cds.
Change-Id: I8e087a573112e5d2d81e8ea413044d45f228813e
CRs-Fixed: 2797344
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
For wow or active offload mode, FW will re-inject some RX frames
to REO with reo_destination_indication 1 (REO2SW1) to REO entrance
ring, but the original reo_destination_indication in RX buffer pkt_tlv
is 6 (REO2FW) or other flow steering value (>=16), then REO2SW ring
mismatch will happen that break FISA function in host.
Bypass FISA if reo_destination_indication mismatch between REO ring
descriptor and pkt TLVS.
Change-Id: I8736b8a96513c2e49fe41fb460f81cb0ef01ed01
CRs-Fixed: 2807461
Currently we configure the REO ID in the HW FST entry,
which is later used by HW to route the packets matching
this particular flow.
Such a kind of configuration can lead to incorrect
routing of packets incase the RX path mapping is
changed (eg when IPA is enabled).
Hence to fix this issue, use the reo destination
indication which is received in the first packet of
the new flow in the HW FST entry.
Change-Id: Ide230dcfb07862b3921aeb02d83ad7c30cb284c2
CRs-Fixed: 2803828
User requests for last disconnect reason code using
QCA_NL80211_VENDOR_SUBCMD_GET_STA_INFO vendor command. Host replies with
connect fail reason codes from enum qca_sta_connect_fail_reason_codes using
QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_CONNECT_FAIL_REASON_CODE attribute, If
last connection attempt failed.
Change-Id: I723a9dcf025bb58fa524cbf16f16a7dcea8bd5b6
CRs-Fixed: 2799227
FTM mode does not create vdev. So in order to add support for the
unit test command in FTM mode, set vdev of the adapter to 0 and create
a new funciton that handles the command called in FTM mode and does
not check for a valid vdev.
Change-Id: I5b71765dc4c6eb8025aa60726e4105f8ff30f634
CRs-Fixed: 2805415
SAP cannot be turned back on, if SAP is turned off during the
Pre-CAC. Because in __wlan_hdd_del_virtual_intf(), cleanup of SAP
is not done.
To avoid this issue cleanup SAP interface also in this scenario.
Change-Id: I12240c22a2b40c2a1fc8a46ff197023abf36631a
CRs-Fixed: 2803454
CAC timer is only created for non-offloaded CAC case, but in some
cleanup functions, CAC timer is stopped/destroyed without checking CAC
offload flag.
Change-Id: If8422afac2389e134769a762aa87cb7969eef9ec
CRs-Fixed: 2807650
In FT roam when the CSR lookup fails then the PMK details from
the roam sync indication will be updated to Session/PMK cache.
This will result in having multiple PMK cache entries for the
same MDID.
This fix is to avoid updating the Session/PMK cache in case of
FT roam and maintain a Single PMK cache that was set during the
set_pmksa.
Change-Id: Ie803a9816dece79c6d71e9963e11c6ec424306eb
CRs-Fixed: 2798720
In FT-SuiteB when STA connects to AP1 then PMK1 gets cached. And
then STA disconnects from AP1 and connects to AP2 then PMK2
gets cached. Now if STA roams to AP1 then FW uses PMK2 from mlme
session to create the PMKID. But the corresponding RSO command
from driver sends the PMK1 to FW and the same gets updated in
mlme session of FW. This results in failure of next roams, as the
invalid PMKID gets created using PMK1.
This fix helps in deleting the old/stale PMK cache entries that
are under the same mobility domain as of the newly added entry in
case of all the FT connections except FT-SAE.
Change-Id: Id960e955f8669e19e950c1edc38a9f0a715292b7
CRs-Fixed: 2798713
In FT-SAE when STA connects to AP1 then PMK1 gets cached. And
then STA disconnects from AP1 and connects to AP2 then PMK2
gets cached. Now if STA roams to AP1 then FW uses PMK2 from mlme
session to create the PMKID. But the corresponding RSO command
from driver sends the PMK1 to FW and the same gets updated in
mlme session of FW. This results in failure of next roams, as the
invalid PMKID gets created using PMK1.
This fix helps in deleting the old/stale PMK cache entries that
are under the same mobility domain as of the newly added entry in
case of the FT-SAE connection.
Change-Id: If71b22dbf9200b820c8dd8c9fd0183af5bfcb0f6
CRs-Fixed: 2740532
Currently, when channel list is changed. It updates
the channel list to fw first and then disconnect the
sta. This causes race condition to roam to invalid
channel.
To resolve this, disconnect the sta and then update
channel list.
Change-Id: I12d8098ee6acececc8a574d2b15f5c4774c07936
CRs-Fixed: 2806706
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
Presently RoamKeyMgmtOffloadEnabled flag in roam req_buf gets set from
csr session, which gets set only if user sends vendor command to set key
management i.e. QCA_NL80211_VENDOR_SUBCMD_KEY_MGMT_SET_KEY.
Thus if user doesn't send QCA_NL80211_VENDOR_SUBCMD_KEY_MGMT_SET_KEY
vendor command, then host fails to sets ROAM_OFFLOAD_OKC_ENABLED &
PMK_CACHE_ENABLED flags in RSO command. This leads to failure of single
PMK cache roaming. Hence update correct value of RoamKeyMgmtOffloadEnabled
from mlme object.
Change-Id: I34099b4651ca179bb86ca24581526e161d2bf503
CRs-Fixed: 2802124
When resetting roam trigger bitmap, it is missing triggers
such as QCA_ROAM_TRIGGER_REASON_IDLE,
QCA_ROAM_TRIGGER_REASON_DEAUTH etc.
Change-Id: I57b2b5c251202094b1afe65e0b4af39dc69f75e1
CRs-Fixed: 2805011
Currently, interface status is not being checked to start monitor mode.
This is allowing to start monitor mode more than once for the same
interface. This will result in session leak during de-init.
To avoid this, start monitor mode only if the interface is not already up.
Change-Id: I118167d3a8cea52fbfa825b226b837087828f148
CRs-fixed: 2803090
Currently, LL stats in-progress flag is being set first and not getting
reset when peer is invalid. Because of this station stats sent by the
fw are ignored in the host since cp stats request pending is not set.
Also ll_stats request is not being rejected if previous ll_stats
request is in-progress.
To resolve this, update ll_stats request in progress flag after sanity
check for the peer and ignore the new ll_stats request command if the
previous ll_stats request is in progress.
Change-Id: I205502f8c34b51c396859d5ff3ed247e639eea99
CRs-Fixed: 2803032
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
Log packet length as part of page fault reason logging to know
how many bytes of data is filled by target.
Change-Id: I3426361d555ec195446348df9740900aa97b4604
CRs-Fixed: 2801605