Don't check for NULL for session in tdls_update_node_he_caps()
as the caller lim_process_sme_tdls_add_sta_req() is already
checking that.
Change-Id: I15b8144db385265fb77612f17123fd9f949ab7bf
CRs-Fixed: 3007560
As part of new implementation for 802.11BE MLD(multi link device)
address also need to be generated, derive the address during the
driver probe for max supported MLD's.
Change-Id: I092aac0607a6b7e9e420b1c82a61869cc0b8a2d4
CRs-Fixed: 2993460
hdd_assemble_rate_code uses WMI_ASSEMBLE_RATECODE_V1 to configure rate
to Fw. But this macro is not as per expectation by FW.
To address this, Don't use hdd_assemble_rate_code API and read the rate
code from user as per FW expectation and configure it to the FW.
To set 11be rate, write 2 bytes value to the sysfs entry as below.
In this byte-1 should be 11be preamble id i.e. 5, in byte-2 MSB 3-bits
represents NSS and LSB 5-bits represents MCS. For e.g. the below
command will configure the 11be rate to MCS 7 and NSS 2.
echo 0x0547 > /sys/class/net/wlan1/11be_rate
Change-Id: I9c8ecc840b14fbd954f0df1f8ec841daf5435fab
CRs-Fixed: 3004042
Currently, irrespective of OP MODE of the driver, the HOST sets
85th bit (Beacon Protection Enabled) in octet 11 of extended
capabilities. As per the 802.11 2020 standard, this field is
reserved for a non-AP STA.
The fix is to make sure 85th bit in octet 11 of extended
capabilities are reserved for a non-AP STA.
Change-Id: I36825bd8045af51d0f998ca5bcd90a3bc8dce632
CRs-Fixed: 2999299
Fill TDLS 6Ghz peer capability correctly in Add STA
so that carrect Peer capability should be sent in
Peer Assoc.
Change-Id: I3eb6c387286b86e07c33be4751501b356b24ff68
CRs-Fixed: 3008407
The RRM request may have different country code with DUT internal
regdb configure, use country code from beacon IE if it is present,
otherwise use internal country code to verify op class of neighbor
report channel list.
CRs-Fixed: 2997474
Change-Id: I35a62d9791f08d26dd8a892739612eb422805523
When firmware sends Roam synch indication, driver changes the
roam offload state to ROAM_INIT and after set key completion is
received, RSO start will be sent. But if EAP/EAPOL fails and
disconnection is triggered then deinit command is sent without
setting roam scan mode to 0 with RSO stop command.
So change roam offload state to RSO_STOPPED if auth status is
connected in roam synch indication.
Change-Id: If8f56ce48500f6848fa917854b6252f8deb67c01
CRs-Fixed: 3005697
Currently driver sends rsn caps to fw via
WMI_VDEV_PARAM_RSN_CAPABILITY without validation of ap
capability to support ocv which may cause issue during csa.
when ocv cap is set in vdev param, then fw does sa query and
may not get any data if ap doesn't support ocv which may lead
to disconnection.
Fix is to set ocv capability in rsn based on ap capability to
avoid unwanted disconnection.
Change-Id: I90f9ccffb00878592179a3159adee0b3199555a3
CRs-Fixed: 3008137
This reverts change Id8134003e6f7a3e0368b20c496f650e0b7025b9e
Moving cp stats to scheduler thread is breaking the
synchronization in stats collection. Currently, when a get stats
command is issued from framework, host driver sends the same to
firmware and wait for both llstats and get_station related stats.
The expectation is to receive get_stats first and then llstats.
Host driver has a wait for the last llstats event to return the
stats to userspace. As the cp stats(get_station stats) are moved
to scheduler thread, the order of these events can't be ensured
as llstats are still running in kworker thread. llstats event gets
processed before cp stats mostly and stats are returned
immediately to framework. Framework may issue the get stats
command again and the same is sent to firmware, which may result
in synchronization issue in firmware as well.
Moving llstats also to scheduler thread may not be optimal as these
are aggressive and can be queried by framework multiple times with
a milliseconds gap.
So, move back the cp stats to kworker thread to maintain
synchronization.
Change-Id: I8dc518f0de37e7cc203cb1f6e67045d74b304d93
CRs-Fixed: 3002534
Currently fw is allowed to provide ch_wr_ie len upto 20 bytes.
If fw provides ie len > 20 bytes then driver may lead to
access invalid memory. To find sub element, subelement len is
calculated from total len without any validation. ele may
point to invalid address when subelement which is calculated
from ie len becomes > len.
Fix is to compare ie len provided by fw with max ie len and
validate subelement len and then proceed with subelement.
Change-Id: I1a833c3828e4afc6e37ed27e008663152b6b5d86
CRs-Fixed: 2995818
Populate mlo IE for assoc req with inheritance mode.
populate base rate, extend rate, capability, extend capability
and HT/VHT/HE/EHT capability based on mac context.
Change-Id: I5e1c350a9c5f23a63d11c6d4b5cdbf0422dd53e0
CRs-Fixed: 3000895
Do not use the NULL data keep alive method if BSS max idle period
is advertised as NULL packet is not encrypted.
Set the keep alive data method to management if BSS max idle period
is set.
Change-Id: Ib30e8a426e18fe3564fc2de8d48e85fb53840718
CRs-Fixed: 3007868
Include the BSS max idle period IE only for HE connection and
set configure the protected keep alive option bit.
Change-Id: I32169a3945dfb18f46d1339b9dcad1fb355ddbbc
CRs-Fixed: 2970547
As data path requirement, sta info should be created for partner link
when it is mlo connection.
Indicate assoc confirm message of partner link to sap for mlo ap. Since
there is no raw assoc req frame for partner link, set assoc req frame
as NULL for partner link. Currently sap handles this situation.
Change-Id: I487bad6a1e8ebba4747ecd475a54111b72c85c70
CRs-Fixed: 2996412
In case of STA + STA concurrency, enable roaming on
another interface only if STA + STA concurrency is in
DBS.
Add sanity for SCC concurrency also along with MCC
concurrency in cm_roam_switch_to_init.
Change-Id: I8787828b4b950c355e9bf70af58aad7779de3e9f
CRs-Fixed: 3001723
MLO sta needs mld mac and assoc link information to create bss peer
Get mld address and assoc link info from connection manager and pass
it to bss peer creation
Change-Id: Ie04d4eb01f1a039f068b32b6c53aa3e65c919518
CRs-Fixed: 2987483
Save dual sta configuration in hdd context and
restore it after SSR. This allows driver STA + STA
connection in MCC/SCC.
Change-Id: Ia8bb8c845f0f76e7ce41ff32ab0a3bc6d5111018
CRs-Fixed: 2998225
Do not update the session Nss value based on peer supported MCS
map to allow the association with vdev nss value.
Change-Id: Ia66dcd5ff1084b6b0725d38fc942eb516c6cbde6
CRs-Fixed: 2998168
Currently driver does not update last auth type for big data stats
because of which it reports incorrect auth type to user space when
it receives big data query.
To address above issue, update last auth type correctly for big
data logging.
Change-Id: I170714cef1d3ec95c47db84e77d9c3adbdf8cd39
CRs-Fixed: 3001629
Memory allocation for FISA history could possibly
happen from the cnss prealloc pool.
Fix is to disable FISA history until the allocation
is moved to DP prealloc.
Change-Id: I6c2e42d129d6642601ae59e08294c214907f5faf
CRs-Fixed: 3006138
Enabling CONFIG_ICNSS2 is enabling CONFIG_ICNSS2_HELIUM for BE chips.
Prevent it by making dependency on !CONFIG_BERYLLIUM.
Change-Id: Ifd5b5bb07cd753dec4da3c1f063a9e2739288f1c
For platform without pld support, SSR would do rmmod operation, which tries
to do suspend target, there is no ACK from crashed firmware during SSR.
Keep the recovery in progress flag to skip suspend target command.
Change-Id: Ic6b8f4ebacbf9dc5798730b253eae239fe30c159
CRs-Fixed: 3005884