Add MLO manager and target interface support to force power
save on all the active MLO links for a defined number of
beacon periods. Force power save allows the firmware to
suspend STA links for X beacon periods and remain asleep
even if the AP advertises TIM as opposed to regular power
save mode where STA links wake up if the AP indicates that
it has buffered data to send.
Change-Id: Idb3ea42cfc2333a4b177780d09ddec6904ea0c16
CRs-Fixed: 3514468
In WKK 7 vap per radio is supported with IPA.
Fix is to increase the session_id to 7.
Change-Id: Idbef1c3185174fab51293a6c91f0e4d6ba46e95d
CRs-Fixed: 3506431
Change the default log level for shadow register
configuration print, which use error level is not
proper since they are not critical/fatal cases.
Change-Id: I899a8acea228a86356d6d380844a3c6ebf43f3e5
CRs-Fixed: 3519727
Add a new vendor command and attributes to notify TID-to-link
mapping changes to the userspace.
Change-Id: I9210103807f89f31ddf99965098a78bb4a798665
CRs-Fixed: 3516368
During wlan0 vdev0 roaming, before roam sync received, 2nd sta wlan1
vdev2 connect req came, disabled RSO of vdev0, so vdev0 roam aborted, and
disconnected.
To fix it, serialize roaming disable during connect too, don’t disable
roaming of other connected sta until serialization allowed in
wlan_serialization_activate_cmd ->cm_connect_active
Change-Id: Ic2e626154b570a1691b8f3d684d21d8a107d09dc
CRs-Fixed: 3510787
File does not have proper commenting to functions.
There are words used twice and not properly named.
Fix is updating the comments.
Change-Id: I5174c8804014ea860127a64907ce63037f746d25
CRs-Fixed: 3519022
Currently if MLO connection fails then connection is tried
with same link until it reaches to maximum no of trials but
connection is not tried with same assoc link by changing partner
link or with SLO.
So, when vendor roam score algorithm is enabled, add logic to try
MLO connection again by reducing number of partner links with
each retry till SLO connection is tried.
Change-Id: Ic0e3acd2198cfa0ed0ff893da6ae32d669d32a41
CRs-Fixed: 3521159
Increase the CE1 ring size, which is used for htt
events to 1280 entries from current 512 entries
for Waikiki
Change-Id: I794522751deb9a60e6487e42df48f582a5e01d2e
CRs-Fixed: 3511251
Currently, opt_wifi_dp filter reserve and release
notification to IPA, is sent in a tasklet
context. As QMI calls tend to acquire mutexes, this
will cause an assert as we cannot sleep in a tasklet
context. To resolve this, WLAN will schedule the
notification call in a workqueue before calling
into IPA. This change ensures IPA calls from WLAN are
not made in an interrupt context.
Change-Id: Ic716e14340651db76d7dd7dc216c595c01732ee8
CRs-Fixed: 3492465
In api extract_service_ready_ext2_tlv(), Multipass
SAP capabilities is extracted to enable multipass
sap suppot in host
Change-Id: I422a5dbaca405ceaea70559863af48d046f92cbe
CRs-Fixed: 3515331
Add current AP power type check in reg_get_num_reg_rules and
reg_append_6g_reg_rules_in_pdev to avoid the array out of bound access
of pdev_priv_obj->num_of_6g_ap_reg_rules.
Change-Id: I769615788add14bd5892edf966981ba729073f17
CRs-Fixed: 3513759
Optimize Tx and Rx monitor stats update code by replacing
multiple if checks with switch case statements
Change-Id: I07dd7784dccdfe0cf0e1ade822746d0c6f55cd95
CRs-Fixed: 3511037
Add AFC common North Bound vendor command handlers and common AFC
PSOC/PDEV register functions.
Change-Id: Id87c3c4878362a48546d39e10230d60c2c573154
CRs-Fixed: 3375632
The qdf_print default log level is error, which is not
properly set for non-critial/fatal case. So change
it to wmi_info by default.
Change-Id: I4507416e241a47e56de48f537cb1ad5ad913c264
CRs-Fixed: 3519208
Currently host doesn't check if power type is supported
for connection channel while calculating best 6 GHz
power type for connection. This results in calculation
of incorrect power for connection values if 6 GHz power
type is not supported for that particular channel.
To address this issue configure power type for connection
only if that power type is supported for connection
channel.
Change-Id: Iab4f666df9a283a890d9a25ed4a43e244b253fd3
CRs-Fixed: 3502915
add multiple history array to keep track of mem allocation and
deallocation for qref table.
Change-Id: I9fa97fbe5a5c36509cbb5a458851a152200318a5
CRs-Fixed: 3475981
Currently there is a self peer created for a
vdev created in station mode, which is not necessary
for kiwi target.
Add support to disable self peer creation
for vdev.
Change-Id: Ib9d63aef392be66bd0675960a0abfc73c6462d2c
CRs-Fixed: 3517791
Update etp score as per the mlo_tp_preference_percentage ini.
MLO score require to be boost or reduce based on the mlo
prefrence percentage ini, so update score as per the
provided value.
Change-Id: I0263b0f83207c279a2b4e88ac7b08b3b18a49df4
CRs-Fixed: 3456420
added a new API to get partner soc by passing chip_id
while adding and deleting flow entry.
Change-Id: Ib1d8c0dedb8e11d164f00791e59cf52ef8332cb5
CRs-Fixed: 3508805
In some cases, the current frame and its associated rx_params/reo_params
may get freed immediately after the frame is queued to the egress list.
Hence accessing the reo_params after the frame is queued to the
egress list could lead to a use after free. Store a copy of "reo_params"
in the frame descriptor and access the copy after the frame is
queued to the egress list.
CRs-Fixed: 3516454
Change-Id: Ia87455b25d71f7de8f5b9c94fb6de05e94922b04
Currently connectivity logging is done for all opmode
but logging should be done only for STA mode.
So to fix the issue add check for opmode and skip
connectivity logging if opmode is not STA
Change-Id: Ie6175a02c8167f5ebfd81553837206640431f701
CRs-Fixed: 3515365
When decap type is invalid, freeing nbuf and while next monitor
buffer tlv picking last nbuf from queue. which has allocated frags
and valid data. expecting MPDU END TLV for previous mpdu
before monitor buffer tlv to allocate new nbuf.
Set rx_hdr_rcvd to false when we receive invalid decap type.
CRs-Fixed: 3503694
Change-Id: I97ede9e52df580769b78afc767ba9528914b3ea5
During the mode0 target recovery cleanup the link peers
before ml peer deletion.
Change-Id: Ie0037056c2b44f50a64787fa75b5c2d8690e4224
CRs-Fixed: 3515517
Support for setting and clearing the IRQ_DISABLE_UNLAZY flag
during registering and freeing of PPEDS interrupts respectively.
Change-Id: I4a512e434315d2c981e890661adb5686bdb563bc
CRs-Fixed: 3509601
FW drops management frames with zero duration and indicates the same
via FW consumed management Rx WMI event. Hence remove the zero duration
assert for FW consumed management frames.
CRs-Fixed: 3512136
Change-Id: Ifda8831f46860cef0d28a9767a4a18f33e21ac68
On BE Platforms, currently if MLO is disabled, ol_stats does not
get enable on any soc. Fix is to enable ol_stats on particular
soc if MLO is disabled
Change-Id: I715f06776eda9539f68f440f86e3a403a6b14fa5
CRs-Fixed: 3508711
When link removal TBTT expires, indicate the link removal
info to upper layer by vendor event.
Change-Id: Idf882cb22ccbd1c8b4ad6f03c6d27980cdbaef50
CRs-Fixed: 3481313
For QCN9160 target, uCode reports the dBm converted values
in status tlv. Hence, remove conversion at HOST.
Populate proper chip type for QCN9160's RCC.
CRs-Fixed: 3509733
Change-Id: I8422f661161337cdce5ef8001fb502aebdbe0dc2
In the case of SSR, the WMI layer callbacks will not be called as part of
tx completion. Hence, the nbuf and HTC packets are freed in
send_packet_completion(). In this case, the WMI pending command count is
not decremented. During target recovery, this wmi pending command will be
increasing eventually, and assert will be seen when pending commands reach
MAX defined value.
To fix this, initialize the WMI pending commands to zero after the target
recovery.
Change-Id: I56d38d7064bc089725d5453883c22f572e51e078
CRs-Fixed: 3513491
Only in the case of HMT, the host sets the
'scan_f_report_cca_busy_for_each_20mhz' scan flag
in scan request.
Trigger wide band scan also only if
scan_f_report_cca_busy_for_each_20mhz flag is set.
Change-Id: I9418d916f1927798ad56460b4c799100fc786378
CRs-Fixed: 3515959
Firmware sends NDP_HOST_UPDATE event as an immediate response to this
request and starts cleaning peers one by one. Once an NDP session is
ended (indicating NDP_END to peer + internal cleanup), firmware sends
NDP_END_IND to host.
Currently, host driver stops the wait timer and change state from NDP
end to disconnected upon receiving the NDP_HOST_UPDATE. But firmware
might still be in the process of NDP cleanup. As the NDP_END_ALL
context is unblocked, driver may send NAN disable request to firmware.
This may cause inconsistency in firmware state machine and firmware may
drop the ongoing NDP_END request. So, peer doesn't get the NDP_END frame
in such cases.
Unblock the NDP_END_ALL-wait call only upon last NDP_END indication to
avoid such issues. This change moves the major functionality of
NDP_HOST_UPDATE processing to last NDP_END indication. Cleanup/remove
the processing of NDP_HOST_UPDATE as it's not needed anymore.
Change-Id: I00e73d211de4626484ffb2483c00adce1a7302c1
CRs-Fixed: 3512923
Update Priority access ML IE processing with below.
1. Check for ie header before updating sub elements
2. Add WME vendor IE parsing support
Change-Id: If479f95517946511d5e94feadf92a10c61efd2a6
CRs-Fixed: 3508861