Currently peer create response support is added for connect path
but in LFR-2.0 case also peer create response received is
processed and lim_post_join_set_link_state_callback() is called
leading to sending vdev start again.
Call the API to fill peer create wma request only for initial
connection.
Change-Id: I24140efd5541f7ed4aa3cef9efebf5a729846902
CRs-Fixed: 2856636
Currently multiple ini is available for setting the broadcast
TWT requestor and responder configuration.
Deprecate "bcast_twt" legacy ini and also don't consider
legacy service capability WMI_SERVICE_BROADCAST_TWT.
So below is the service capability values combination
advertised by firmware:
new fw:
bcast_req bcast_resp legacy
0 0 0 -> disable bcast
0 1 0
1 0 0
1 1 1
old fw:
0 0 1 -> enable TWT
Also change the default value of "twt_bcast_req_resp_config" ini
to 1.
Change-Id: Ic9af296b0efffc8f76f647b5830183867e0adf57
CRs-Fixed: 2873360
Any update to the SRNG TP/HP when the device is in low power
state would result in system errors. While in D3 WoW mode,
disable EXT grp irqs and drain TXRX before sending enter
power save mode to the FW. This will ensure that no interrupts
are received while in WoW mode and as a result there wont be any
HP/TP updates.
Change-Id: Ic1fb7fdd45096b458abf5d243fa652c3da878dc0
CRs-Fixed: 2890568
Add support to configure the HE ER SU for management frame tx
and configuration support to use RU 242 tone for data Tx.
Change-Id: I068c1e7b6808d430d5468bab7ee04e24d5461afd
CRs-Fixed: 2816797
When "wmi_service_configure_roam_trigger_param_support" service
bit is set populate roam score delta and min rssi parameters
and send via WMI_ROAM_ENABLE_DISABLE_TRIGGER_REASON_CMDID.
Change-Id: I3c7fc56a95c28c43992763be3351d91d9fd44041
CRs-Fixed: 2890148
Currently, host sends mantissa in us for
QCA_WLAN_VENDOR_ATTR_TWT_SETUP_WAKE_INTVL_MANTISSA attribute.
Add changes to send wake interval mantissa in TU to firmware
and expectation from usersapce is to set the 1024 in the
exponent to derive the correct wake interval.
Change-Id: I53520369492961207496970fe78189bec6f75ad7
CRs-Fixed: 2897500
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