Currently in function wmi_extract_dbr_buf_release_entry,
num_buf_release_entry & num_meta_data_entry are copied
to direct_buf_rx_rsp structure without any validation which
may cause out of bound issue if num_buf_release_entry or
num_meta_data_entries provided in fixed param becomes greater
than actual number of entries.
Fix is to validate num_entries and num_meta_data before populating
param->num_buf_release_entry and param->num_meta_data_entry.
Change-Id: I18050fd4f90f8815d7eceb5f715fdbaa09130d3a
CRs-Fixed: 3000875
Disable CP Stats for Beryllium emulation environment. These stats are
invoked heavily by userspace and need to be retrieved from the FW.The
userpace is holding the rtnl_lock while invoking these stats. This
prevents any additional commands to be sent while a stats command is
pending. Since in emulation environment, the turnaround time is quite
high, no iwpriv/ifconfig/iw command can be sent while the CP stats are
pending, making the driver in accessible from command line.
Hence, disable CP stats by simply returning 0 to the caller in emulation
environment.
CRs-Fixed: 2984362
Change-Id: I80aee6ce2bed1c37b964dd5e7194a66287301355
Add length sanity check for ibf cal value & phase delta
to ensure HOST always align with target defined length.
Also remove the REPORT_AOA_FOR_RCC flag usage.
Change-Id: I06e4a430143df1534849b8ec974e38932cff3ef1
CRs-Fixed: 2997030
Add new field ema_init_config to signal the configured value of
beacon size while using MBSSID feature in 6Ghz.
The current allowed range is 1500-3500 bytes.
CRs-fixed: 3004041
Change-Id: Id8cc1b7e4602b2e52b8eb215337070c6e3c26089
Add P2P_P2P_CONCURRENCY_SUPPORT service capablity to
validate whether fw can support p2p concurrency
support or not. when firmware advertises this flag it
can support MCC,SCC, DBS for p2p-GO/GC + p2p-GO/GC.
Change-Id: Ifec4bf984595b06374be9024601733c8537a9c3e
CRs-Fixed: 2984165
Add a function pointer to a function that converts host vdev param to FW
vdev param.
Change-Id: I01557d8bd87cb82548114626ff726aabba01dd19
CRs-Fixed: 3005160
Add debug prints when parsing the EXT chan list update event to dump the
reg rules received. The regulatory info is often updated and new bugs
are introduced every time so the prints will help narrow down the issue.
Change-Id: I229fa2e1432786c9a530f3a6035926135b2c4e2f
CRs-fixed: 3001297
Add extract_roam_scan_chan_list to wmi_ops to allow cld driver
to register the corresponding callback.
Change-Id: I71b17b807d183aff31b73a4732d368d1525c118e
CRs-Fixed: 2990390
Add extract_vdev_disconnect_event to wmi_ops to allow cld driver
to register the corresponding callback.
Change-Id: I3fb891f9a0b4afc92c8a456b2a8fe17bcfecaefa
CRs-Fixed: 2990389
Add extract_btm_bl_event to wmi_ops to allow cld driver to register
the corresponding callback.
Change-Id: I1734f577b07f8c54924a83d3d367e8cdba07f41c
CRs-Fixed: 2990385
Add extract_roam_event to wmi_ops to allow cld driver to register
the corresponding callback.
Change-Id: I812105a1a81060de0de3f6b9857257e79aa23fc1
CRs-Fixed: 2990384
Add support for multi vdev set param WMI API to send vdev param for
multiple vaps.
Change-Id: If7381f0b242cacff0817e6bdc16606d3d776b48d
CRs-Fixed: 2994278
Add storage for EHT mac and phy capabilities as
per 11be D1.0 and update the EHT mac and phy capability
sizes.
Change-Id: I67224b35b701235374772e9975375e695f3ed959
CRs-Fixed: 3000166
A new TLV is added to send partner link CSA/ECSA count offset to FW as
part of beacon template. Add WMI changes to populate these TLVs in the
beacon template send function.
To fix the compilation issue, added forward declaration of 'struct
vdev_mlme_obj' and removed 'include/wlan_vdev_mlme.h' include file from
wlan_mlo_mgr_public_structs.h.
Change-Id: I6e421b29bb887bec711a23db1458aca4d112ade4
CRs-Fixed: 2983249
In WMI INIT, check whether firmware supports the ack event or
not. If it supports then enable driver support and send it to
firmware during WMI INIT.
Change-Id: Icfdee6bc06e6a393de880b87fdab70665ea7c8b4
CRs-Fixed: 2987898
In case if TWT command (i.e setup, terminate, pause, resume,
nudge) comes from userspace and if the firmware is in below mode
1. scan in progress
2. roam in progress
3. CSA is in progress or
4. Any other error
then the command needs to be rejected in userspace context.
Synchronize the TWT command so that whenever command goes from
driver to firmware, then driver will receive ack event first
followed by respective event (i.e add dialog, delete dialog,
pause, resume, nudge) with below condition
1. If driver receives the ack event as successful then driver
waits for this ack event, respective event with status of the
TWT action frame over the air is expected.
2. If driver receives the ack event as failure then it will
rejects the TWT command in userspace context.
Change-Id: Ie885d98ecf2dad98d34676d889fd70e4c84f0a05
CRs-Fixed: 2987904
Add TWT service bit capability support to check whether firmware
supports ack event or not. If firmware doesn't support ack event
then service bit capability will become 0 and whenever TWT
command comes, host will not wait for ack event and sends command
in a legacy way.
This support is mainly added to handle new host and old firmware
combination.
Change-Id: I55d373c2e017130b58a4b332da16f0eda8f34eba
CRs-Fixed: 2987749
Add API to extract AoA phase delta and IbfCalValues from
WMI event. Also Add service bit to support the feature
Change-Id: I6f6514711345dd47c4be3673b8c40501feb763e9
Changes to extract AoA phase delta values from WMI event.
The AoA phase delta values along with ibf calibration value
is shared to derive the phase values which is to be used in
CFR.
Change-Id: I70f50656db4194025a0b6b37c8b4a27048968e0f
Check the below service bits and set in psoc if the service is supported
by FW.
WMI_SERVICE_RTT_AP_INITIATOR_STAGGERED_MODE_SUPPORTED
WMI_SERVICE_RTT_AP_INITIATOR_BURSTED_MODE_SUPPORTED
Change-Id: I13504958bf31b2d645d915b4db20719bdc9a4133
CRs-Fixed: 2969195
Add WMI support for EHT puncturing by filling puncture
bitmap in vdev start and peer assoc commands.
Change-Id: If1d2541655558f22a96a741999ec4ff7348f695a
CRs-Fixed: 2982498
In the current implementation, csa_event_bitmap for CSA in the beacon
template WMI command is set to 0. Hence, the FW sends CSA complete event
to the host at the end of CSA complete.
Set the below values to csa_event_bitmap to get the current channel switch
count from FW to update the CSA/ECSA IE count in probe response frame.
1. WMI_CSA_EVENT_BMAP_ALL:
To get the CSA switch count event for every update to switch count.
2. WMI_CSA_EVENT_BMAP_SWITCH_COUNT_ZERO:
To get the CSA complete event only when the switch count becomes zero.
3. WMI_CSA_EVENT_BMAP_VALID_MASK:
FW to follow the bitmap for sending the CSA switch count event to the
host. Example,
0X80000000: Send the CSA event when the switch count becomes zero.
0X80000033: Send the CSA switch count to host for the count 0,1,4 and 5.
Change-Id: I8380d6badc3b84c72fde489e59b51b5ac122b97b
CRs-Fixed: 2978799
TLV targets support updating tx chainmask(soft-set) using
PDEV_PARAM_TX_CHAINMASK param. Update host enum accordingly to
use this for setting soft chainmask.
Change-Id: Ic5362fb8c79f07cbd83328b786b5930f75d2a084
CRs-Fixed: 2976914
Add APIs to extract AWGN information from the DCS WMI
interference event received from FW.
Change-Id: I4b2f9f4ef012553dac2a405dc7ac12aef9452354
CRs-Fixed: 2958675
First Requirement:
In case of WTC_BTM roam trigger reason, if FW reports rssi
threshold for 5G and 6G AP via wmi_roam_trigger_reason,
Host should print it in kmsg.
If wtc_candi_rssi_ext_present is set (1), It means fw
reports 5g and 6g candidate rssi (new firmware case).
If wtc_candi_rssi_ext_present is clear (0), It means fw
doesn’t report 5g and 6g candidate rssi (old firmware case).
Host use flag "wtc_candi_rssi_ext_present" to keep backward
compatibility.
Second requirement:
As per user space, value for scan mode in WTC command, is
like below:
0: no Scan, 1: partial scan and 2: full scan.
For NO scan case, FW sends value
ROAM_TRIGGER_SCAN_MODE_NO_SCAN_DISCONNECTION (3)
in wmi_roam_trigger_reason-> wtc_scan_mode. When driver receives
WTC scan mode as ROAM_TRIGGER_SCAN_MODE_NO_SCAN_DISCONNECTION,
it should print value as 0 instead of 3.
Convert WTC scan mode comes from FW to
wmi_configure_roam_trigger_parameters->scan_mode to make it
compatible to WTC command.
Change-Id: I8266460aac1272d345e4349c2ca52b4f9a745d4c
CRs-Fixed: 2965362
For some platform, ext2 service bitmap is not supported. So rate
limit the wmi ext2 service bitmap NULL error log to avoid
excessive console logging.
Change-Id: I383632669e4e4a59dd9e6e3ce82626a7cd3e42b3
CRs-Fixed: 2949180
Add functions to parse and extract wmi smart monitor
event received from target.
Change-Id: Ic18e3134b684c5f8e12839e997d628909a7e27c9
CRs-Fixed: 2969247
Currently the 6G edge channel feature is MCC specific.
Make the 6G edge channel feature common for WIN and MCC.
Change-Id: I723b6db1d74dca5a911eede4ec6e6167f6b3e6bc
CRs-Fixed: 2976871
New TLVs for MLO flags are introduced in peer assoc WMI
command. Add WMI changes to add these TLV in the peer assoc
command.
Change-Id: I366a96c973c3bedda03e4c370099ff809e0bd83d
CRs-Fixed: 2958851
New TLVs for MLO flags are introduced in peer create WMI
command. Add WMI changes to add these TLV in the peer create
command.
Change-Id: I38a129b30b366b6e3939231699f210d1bac362a1
CRs-Fixed: 2958849
Add parameter 'bool sync' for wlan_cfg80211_crypto_add_key()
to indicate whether or not to add key synchronously.
If it's set to true, wait until install key complete event
is received.
Change-Id: I9a69d486665fb3f65a5720ccfbfb638c09329418
CRs-Fixed: 2865832
As part of minidump enhancement feature, incorporate
wmi_command_tx_cmp_log_buffer data structure into the minidump.
Change-Id: I323971cc397b3ec710152c774462c85900acc603
CRs-Fixed: 2950790
Current FW implementation is not expecting MLO and partner link params
in vdev restart request. But host is sending these params as part of
vdev restart request. This is resulting in TLV count mismatch for vdev
restart request.
To resolve this, Don't send MLO and partner link params in vdev
restart request command.
Change-Id: Ied4572722c701ad7f53ac12727228a383e570433
CRs-Fixed: 2973256
New TLVs for MLO flags and partner link info are introduced in vdev
start WMI command. Add WMI changes to add these TLV in the vdev start
command.
Change-Id: Ic7d54c406f69346a6eedb43b1ebcf7266c448bd8
CRs-Fixed: 2958843
WMI vdev create is changed to incude mlo macdress as one of TLV.
Add changes in WMI vdev create send API to include this new TLV.
Change-Id: Ia13bdb8fbfc9f68d1e4c0209201f9acc4f575387
CRs-Fixed: 2958839
802.11BE D1.0 9.4.2.295c.4 Supported EHT-MCS And NSS Set
field specifies maximum 4 optional EHT MCS map, which are
20 MHz-Only STA, BW <= 80 MHz except 20 MHz-Only STA,
BW = 160MHz and BW = 320 MHz.
Therefore set WMI_HOST_MAX_EHT_RATE_SET to 4.
Also add a debug message to log peer_flags_ext.
Change-Id: I3d56998bf0de381ef147d6c0551dcdb7fd935f60
CRs-Fixed: 2963536
Set the SAE EAPOL offload support in resource config based on
WMI_SERVICE_SAE_EAPOL_OFFLOAD_SUPPORT bit received in service
bitmap from Firmware.
Change-Id: I878736105c070df514dfe8d989541227b3baad11
CRs-Fixed: 2957082