Incase peer sends multiple Association
Request or multiple Association Request,
there can be crash due to excessive
logging.
So, rate limit the logging.
Also, this is also valid in case peer
sends multiple Disassociation or
Deauthentication request.
Change-Id: Iec4f70e8154ca0001f6d752f65449bb1d7bce5da
CRs-Fixed: 2891926
Currently pld_ipci_smmu_unmap suppot has been added for IPCI,
PCIE_FW_SIM and SNOC_FW_SIM type cases as an error, moving this
unmap support only for type IPCI.
Change-Id: Ib9a60656920d1cc46e28dc269983b7da8dba7d42
CRs-Fixed: 2896804
Add vendor command interface/feature through which the user
or vendor can set the dtim count as per their requirement.
Change-Id: I26010948c4ed7e3c49bfe0453119235d4f438c6f
CRs-Fixed: 2894349
While parsing the nudge command, the peer mac address is not copied to
the params structure passed to sme. So while Nudge active command,
since peer mac address is NULL, the driver is not able to get the
peer object and set the Nudge active command fails.
Copy the peer mac address to set the active command to peer
object, so that when nudge command response is received, the
response is not dropped due to active command is not nudge.
Change-Id: I11b11b3187dff5a79d0f79106c21d60d04edc17b
CRs-Fixed: 2888903
CNE queries stats via the ext stats vendor cmd. As
part of this, REO commands are enqueued to HW for
each tid to get mpdu_rx and mpdu_rx_missed counts.
In the scenario where the first ext stats request
post STA disconnection and re-connection times out,
the counts from the previous connection are reused.
The second ext stats request can successfully get
the new counts from HW in which case, there is a
possiblity for the mpdu_rx count sent in the second
stats response to be lower than the count sent in
the first stats response.
Fix is to reset the mpdu_rx and mpdu_rx_missed count
on STA connection.
Change-Id: I381f9b6b27d8d023b1932b7d8587df240c1ff4d0
CRs-Fixed: 2896791
Assoc req can only be handled when the sap is in WLAN_VDEV_S_UP state
and WLAN_VDEV_SS_UP_ACTIVE substate.
Assoc req can't be handled in WLAN_VDEV_SS_MLO_SYNC_WAIT substate.
Change-Id: If7a7db06df04dfe54e1a7b9abefaba2372d40516
CRs-Fixed: 2866182
In off channel P2P GO neg resp tx frame, supplicant sends
roc duration (suppose 100ms) to sends the frame and as
this is not sufficient to receive the GO confimation frame,
driver internally adds 500ms more duration. So, new roc
duration is 600ms (100+500). But currently, restart
of the roc timer happens with old roc duration instead
of newly calculated roc.
Send the extended roc timer duration in restart roc timer
to fix this.
Change-Id: I1238d69d1d8b03578d74ef6ad0895f11cfac0178
CRs-Fixed: 2890951
Currently the first EAPOL pkt has been received before setup
IPA interface context for STA and getting dropped, so adding
changes to send the EAPOL pkt to network even if IPA iface
for STA is not ready.
Change-Id: I78e8c7ba82dabc73503fb75c39ac794c152303dd
CRs-Fixed: 2874358
scenario:
(1) KASAN is enabled and DP thread is slow to process and deliver
Rx packets to stack.
(2) vdev-2 do disconnection and flush Rx packets that belong to
vdev-2, but DP thread is busy with processing vdev-0 Rx pakcets
then no chance to do GRO flush for vdev-2, Rx flush timeout and
vdev-2 net_dev get freed, later when DP thread do GRO flush for
vdev-2 pakcets, invalid accessing to vdev-2 net_dev happened.
solution:
(1) increase Rx packets flush timeout from 1000 ms to 2000 ms.
(2) do extra GRO flush if timeout happened.
Change-Id: Iddc445d950eeb6cd2bd0b125bf87051e850abeb2
CRs-Fixed: 2894978
Use wlan_reg_get_chan_enum_for_freq API to get chan enum instead
of the unused wlan_reg_get_chan_enum API as part of regulatory
cleanup effort.
Change-Id: I66b933fdafb97b4eb16c9f2bf4cb0ca4c1232762
CRs-Fixed: 2885858
Possible wmi cmd is queued in suspend, if no more
htc_try_send comes from credit response or new wmi
cmd, wmi cmd will pending.
Fix is always kick htc queue if suspend failure.
Change-Id: I05e0cd6983e1d27de5bf109c3ddf05e4bdc12fd8
CRs-Fixed: 2895808
The current multi-ko support is achieved by creating, during the
actual build process, target-specific .<chip> folders beneath the
qcacld-3.0 folder, and then populating those folders with a variety of
symbolic links. Unfortunately this mechanism violates the requirements
of the Hermetic Build feature which requires that the source directory
not be modified during the build process.
One solution to this problem is to actually add the target-specific
folders, along with the included symlinks, to the qcacld-3.0 git
project. But one maintenance issue with this approach is that these
folders of symlinks would require update when the qcacld-3.0 directory
structure changes.
An alternative solution is that instead of having each .<chip> file be
a folder of symlinks, let each .<chip> file be symbolic link. This
approach reduces the maintenance issue since you only need to add a
new .<chip> symbolic link when a new target is added; no changes are
required to the symbolic links when a new qcacld-3.0 folder is added.
As a precursor to transitioning to this alternate solution, update the
current build mechanism such that only .<chip> symbolic links are
created in the source directory, and update the remainder of the
multi-ko logic to align with the resulting change in pathnames.
A subsequent change can remove the dynamic symbolic link creation, and
instead add the symbolic links to the git project.
Change-Id: Ie3df49217ffec260085285b1ae25113c3a943e9b
CRs-Fixed: 2889020
A recurring issue is that, due to the large number of object files and
the long pathnames to those files, a build of the qca_cld3_wlan.ko may
fail with an E2BIG error. This can occur when a shell command created
by the build system exceeds the max size of a command that the shell
can handle. This usually occurs when linking all of the individual
object files into the final wlan.o.
Object files from the qcacld-3.0 project begin with:
<prefix>/vendor/qcom/opensource/wlan/qcacld-3.0
Object files from the qca-wifi-host-cmn project begin with:
<prefix>/vendor/qcom/opensource/wlan/qcacld-3.0/../qca-wifi-host-cmn
To shorten the qca-wifi-host-cmn paths add the following symbolic link:
qcacld-3.0/cmn => ../qca-wifi-host-cmn
With this in place object files from the qca-wifi-host-cmn project
will begin with:
<prefix>/vendor/qcom/opensource/wlan/qcacld-3.0/cmn
This will save 17 characters per qca-wifi-host-cmn object file.
Change-Id: I104afdc48e5335aa232bac988c4c652144cd4e58
CRs-Fixed: 2893361
The calculation to find the number of fields from the maximum transmit
power count is incorrect. Fix the calculation so the correct number of
values are sent to FW.
Change-Id: I274cc12df49f9eb619ef50aaef0ce1bd85e8d667
CRs-fixed: 2894809
Host need to print BTM resp TLV info (wmi_roam_btm_response_info)
only when trigger reason is BTM or WTC_BTM. As for other roam
triggers this TLV contains zeros, so host should not print.
Change-Id: Ic76a1b88b9e641745420c372b275392e86d4ba35
CRs-Fixed: 2884639
Set HE capable for tdls capability. Add logging
for printing he caps for TDLS setup request,
TDLS setup response frame and tdls discovery
response.
Change-Id: I57968b6b5dfbe66271ae2ea2c1f1074d0a14b2f8
CRs-Fixed: 2888950
When processing unexpected MLM join request in STA mode,
it won't create bss peer or trigger vdev start, just post
LIM_MLM_JOIN_CNF with result code eSIR_SME_RESOURCES_UNAVAILABLE;
when handling this connection failure, vdev stop will be sent but
WLAN_VDEV_SM_EV_STOP_RESP will be discarded due to SM is
in INIT state, which leads to PE session leak and unexpected
behaviors.
To fix it, change the result code to eSIR_SME_PEER_CREATE_FAILED,
then the pe_session will be deleted and no vdev stop will be
triggered when processing connection failure.
Change-Id: I7fd860e7ce07970eafcfb31cd9b54340048d69a4
CRs-Fixed: 2894292
This change removes unused variable "mac" in function -
sme_set_auto_shutdown_timer and avoid compilation fail.
Change-Id: I4a3ae1ea0deb62d6d43845330162dc8a24b8ab62
CRs-Fixed: 2890806
Update default values of INI items to most commonly used values
in WCNSS_qcom_cfg.ini file on commercial devices.
Change-Id: Ibf1e22406951855a4e726fb8105913a53d3c33ee
CRs-Fixed: 2874758
Currently the SPF support is triggered when there is more than one
target specified in TARGET_WLAN_CHIP. For taro we know we need
multi-target support in the future, but we only want to support a
single target during bringup. However we want all procedures
established during the bringup process to be applicable to the final
product. Therefore update the logic such that SPF support is triggered
whenever the TARGET_WLAN_CHIP is anything other than the default value
of 'wlan'.
Change-Id: I0a0671d2ebbdb85985bc57376b4acd2bd79a16ae
CRs-Fixed: 2890488
Move prev ap info and connected bss in connection manager
macro in csr session.
Change-Id: Ie2b8ecdbcf7134f93f908ba596c0398712da7ac8
CRs-Fixed: 2895259
If set country fails, disable the flag stating the update is in
progress. Otherwise, all subsequent requests will end up waiting for the
full timeout period.
Change-Id: Id35f49b65d5b641d9a0093204dadecc1792ee529
CRs-fixed: 2892388
Change I0e44cb1789516e1bcee619be3581d826f45f265b register
ndo_set_features API, and upper stack will invoke it during
driver loading phase, which is not expected.
Return success with debug level log printed if DSC check failure.
Change-Id: Iba35a6c3ed6394794c9be7332e0243d975ba37bd
CRs-Fixed: 2747343
Correct the attribute policy for TWT suspend to fix the command
parsing failure.
Change-Id: I6078c2e199ed13433c3dea532e3bbe396dd6ad8a
CRs-Fixed: 2872500
TDLS related codes won't be compile if disable mobile router, so this
change moves below function "lim_add_tdls_sta_he_config" to macro -
FEATURE_WLAN_TDLS and avoids compilation issue.
Change-Id: I6c46219c5e37712ce412fe3dbcdedc5dfa6bac53
CRs-Fixed: 2891591
Currently, the code is not sending the Tx beamforming capability to FW
in the case of NAN. Add this call to support beamforming in NAN mode.
Change-Id: I32af660724cfaecfe59da153fea9f98d24b0d4cb
CRs-fixed: 2889614
sys nodes disappear as it missed to re-create after
SSR, adding it in hdd_start_all_adapters.
Change-Id: I25f138a1b64dfff795ab62bca3c3d5d44b5601ca
CRs-Fixed: 2892725