Add 'tx_flag' param to wmi_mgmt_params structure for configuration
to use incorrect key for encryption of mgmt frame.
The 'tx_flag' param is primarily added to provide additional
test configuration options for mgmt frames.
Currently it only has support to encode the mgmt frame with
incorrect key for PMF protected connection.
Change-Id: Id894c735c4c612a75506a33938372c3fa2e7f24a
CRs-fixed: 2690147
Add new channel bonding pairs as well as frequency
pairs for 40, 80 and 160 MHz with the support of
three new 5.9 GHz channels 169, 173 and 177.
Add new API reg_modify_chan_list_for_5dot9_ghz_channels
to enable/disable these new channels based on
INI value and service bit.
Change-Id: I8598e705ba4047e96e7167661ba70d4236cde251
CRs-Fixed: 2696211
Currently, host driver processes NAN events only if
wmi_service_nan_dbs_support is advertised by the firmware. But NAN
concurrency is handled in host in non-DBS platforms also when
wmi_service_nan_disable_support is advertised by the firmware.
So, process the events if any of these two are capabilities
are present.
Change-Id: Ib571ef69ea177ddd758f800448939122126339b8
CRs-Fixed: 2735465
FW sends a disconnect request to HOST while roaming failure
through event WMI_VDEV_DISCONNECT_EVENTID per vdev id.
Process WMI_VDEV_DISCONNECT_EVENTID and issue disconnection.
Change-Id: I0d3d2ddf0cab65eecbfc7676e9b21f2cc19971e2
CRs-Fixed: 2731954
Pdev parameter WMI_PDEV_PARAM_SR_TRIGGER_MARGIN is added to configure
the safety margin which will be used in calculating the acceptable
interference level for PSR based Spatial Reuse operation.
Add the host abstraction for the same parameter.
CRs-Fixed: 2729664
Change-Id: Iae542d4f7de23520ee00719e721d81e32737a191
Based on new macro ROAM_OFFLOAD_V1, define
send_roam_scan_offload_rssi_thresh_cmd to different
function pointer type.
Change-Id: I965b8c0a2a2660b9560d48a92ad693a7efb7aaff
CRs-Fixed: 2730850
Extract btm response and initial roaming stats coming
from FW through WMI_ROAM_STATS_EVENTID event as
wmi_roam_btm_response_info_tlv_param and
wmi_roam_initial_info_tlv_param respectively.
Change-Id: I680260276530368aab0e783bf4ef83edb0fe0d62
CRs-Fixed: 2728465
Define a new vdev param to set corresponding bit to enable/disable
a particular NAN feature.
Currently, Framework configures NAN DW as 4 seconds when the
device is in sync role and the screen is off. But customers might
want this to be 512ms always irrespective of screen off/on.
Send the vdev param on NAN vdev by setting the "bit 0" to 0 to
indicate firmware to ignore framework configured DW value and
consider the firmware default value.
Change-Id: Idcbdae94bd6a96fbbe15ec103a0aa558cdfcd572
CRs-Fixed: 2721980
Add WMI LOG for set peer parameter for debug
purposes like set peer_nss, peer_nss_160
CRs-Fixed: 2726041
Change-Id: Ib1a3d22cd101b76efc07121fc333d303b1a26377
Add interface changes for WMI_VDEV_BCN_LATENCY_EVENTID which
is sent by firmware to indicate the latency IE received from
connected AP in beacon.
Change-Id: Ia6cec01be89f13885b011414f0d77f64c6eb05ee
CRs-Fixed: 2723226
qcacld-2.0 to qcacld-3.0 propagation
Add length check to prevent the data overflow the wmi buffer. The
length in the fixed_params and TLV hdr also need check.
Change-Id: I2bbf9f08b6c19062324dca420af08ff94835eaca
CRs-Fixed: 2248879
There are different version of SSID structure used in driver, replace
them with struct wlan_ssid.
Also move struct element_info from scan module to generic structures.
Change-Id: Ia32f82d943980c23b4ff478f5a06c5c053036de5
CRs-Fixed: 2721872
For STA + STA roaming, instead of WMI_PDEV_SET_PCL_CMDID, the
WMI_VDEV_SET_PCL_CMDID needs to be sent.
Declare the corresponding send_vdev_set_pcl_cmd wmi tlv ops for
sending the WMI_VDEV_SET_PCL_CMDID command.
Also add changes to read the peer create confirmation and dual
sta roam feature support firmware capability.
Change-Id: I21456cb2e4c0b2bb66bf341539d2070677c49d16
CRs-Fixed: 2702849
Firmware sends WMI_ROAM_CAPABILITY_REPORT_EVENTID event asynchronously
to host during FW init. It indicates FW roam related capabilities to host.
scoring_capability_bitmap in the event indicates firmware candidate scoring
capabilities. Host uses scoring_capability_bitmap to calculate roam score.
Change-Id: Idd2cad257e5d783166bd8cc0418dd4f394989295
CRs-Fixed: 2716781
The OCAC completion event 'wmi_vdev_adfs_ocac_complete_event_fixed_param'
has been updated to include center frequencies of 2 segments in MHz for
165Mhz Agile mode.
Update the corresponding Host OCAC completion data structure
'vdev_adfs_complete_status' to include 2 center frequencies to support
165MHz Agile mode.
Also FW might send a delayed OCAC completion status after the Host has
configured a new agile channel. So all the OCAC completion events should be
validated if the status is received for the current agile channel.
Update the OCAC completion processing API to include 2 center frequencies
and chwidth so that, it is possible to check if the OCAC completion status
is received on current agile channel or an obsolete agile channel.
CRs-Fixed: 2705671
Change-Id: Iab8980f8d030120d107f068d890c9694d28ee98c
The FW API is updated for pdev_id in the fixed param.
The pdev_vdev_flag is used to indicate whether the command
is meant for pdev or vdev.
The pdev_vdev_flag should be set to 1 for pdev command and 0 for
vdev command.
CRs-Fixed: 2693893
Change-Id: I99aabb9b73fd44d746342dfc1741fc6585c0863c
Due to commit : Ia630580bba050513800e3acac875baf937ec8d14
while processing RSO command driver fills the pmk_ext_len without
checking the pmk_len. If pmk_len is NULL then pmk_ext_len gets
filled with a negative value and after this while doing the
memcpy it will cause the buffer overflow due to invalid length.
Fix is to verify pmk_len before filling the value in pmk_ext_len.
Change-Id: I506d691ca5bd5d627fc85073346698126ad2ba56
CRs-Fixed: 2707959
Remove panic when tlv doesn't matching attributes, the following commit
takes away a chance to pass invalid values tlv to test the the wmi event
hence reverting commit ca24670e56.
Change-Id: Iafff2067288c8a6fafa016f21b1d7fdfdcb0753e
CRs-Fixed: 2706245
Host configures max ndi interfaces support to firmware using
WMI_INIT_CMD. In resource config of WMI_INIT_CMD, host updates
max number of ndi interfaces support and sends it to firmware.
Change-Id: I44ccbe726663bc18d3c69b4aae0b0e3e9c1501ee
CRs-Fixed: 2701559
Firmware uses the ESS report element information from beacon. For
roaming, station uses ESS report information to consider next AP.
Hence add support to send ESS RSSI roam trigger reason to firmware.
Change-Id: Id10cd3030d4dffde0bbcc883d582c5ca7e0f1005
CRs-Fixed: 2688520
Add support to populate 11AX wireless modes advetised in ext2 service
ready message. To support older FW that do not advertise this, use
existing host workaround to populate these in host itself.
Change-Id: I3b3b280672592c858bd3f6f0e368909a16bd30ee
CRs-Fixed: 2650136
Firmware advertises max number of ndp sessions support in
wmi_service_ready_ext2 event. If the firmware advertised value of
max ndp sessions is non-zero, then host uses a minimum of max ndp
sessions of target_resource_config and firmware advertised max ndp
sessions to configure max ndp sessions in firmware using WMI_INIT_CMD.
Change-Id: Ied6891157ce589e5d36a4f8b9694a95b5c819ad6
CRs-Fixed: 2688393
Whenever a wmi even it received the tlv received from the firmware
will be sanitized, if there is any error the event would be dropped.
This dropping of the event can give side effects in the host/firmware
after some time and making it difficult to find the actual reason of
why the tlv is not received properly.
Crash the system if the tlv is not parsed correctly to debug the issues.
Change-Id: Ic56e3f96252ac74917caeebc8296c2b50ae4f3cd
CRs-Fixed: 2695053
Update return type of wmi_discard_fw_event to return QDF_STATUS
to match scheduler_msg_process_fn_t.
Change-Id: Iba2d41c4bab2bfd5fb163d82fca6c6b895e5a2a4
CRs-fixed: 2699644
In struct weight_config, "oce_subnet_id_weightage" added newly.
Station uses "oce_subnet_id_weightage" as one of the parameter for
selecting AP candidate during initial connection. Host sends
"oce_subnet_id_weightage" ini value to firmware over WMI command
WMI_ROAM_AP_PROFILE.
Add oce_subnet_id_weightage in scan object scoring param to calculate
weightage based on SUBNET ID and select candidate accordingly.
Change-Id: I6583f46f661eaefabbad858bc7fb34e37443ebae
CRs-Fixed: 2675924
Remove the min check for channel list in PNO scan as there is no
limitation in FW for number of channel. The min check is truncating
the 6G channels.
Change-Id: Ic12a82e6b1f9d22c6136abc01125f0465fe821c9
CRs-fixed: 2661087
WMI_PEER_CHAN_WIDTH_SWITCH_CMDID sent from host fragments the
command based on the size of the WMI buffer.
Add support to instead use a FW regulated value taken from the
WMI service ready extended_2 event.
CRs-Fixed: 2684788
Change-Id: Iaeccf785c64b385bf2ad6bc372da239981143fa0
Somtimes F/W event WMI_REG_CHAN_LIST_CC_EVENTID comes for country
code changed before WMI_READY_EVENTID processed completely in
worker thread, to update current channel list,
hdd_regulatory_dyn_cbk is invoked in scheduler thread and wiphy
is extracted from pdev which isn't attached to pdev yet, assert
will happen.
WMI_READY_EVENTID and WMI_REG_CHAN_LIST_CC_EVENTID
should be serialized, both of them should be handled in same
context, such as worker thread.
Set WMI_REG_CHAN_LIST_CC_EVENTID execution context same as
WMI_READY_EVENTID: WMI_RX_WORK_CTX.
Host F/W handshake during init:
Host <- FW WMI_SERVICE_READY_EVENTID
Host <- FW WMI_SERVICE_READY_EXT_EVENTID
Host -> FW WMI_INIT_CMDID
Host <- FW WMI_REG_CHAN_LIST_CC_EVENTID
Host -> FW WMI_SET_CURRENT_COUNTRY_CMDID
Host <- FW WMI_READY_EVENTID
Host <- FW WMI_REG_CHAN_LIST_CC_EVENTID
Change-Id: I922e5f2a9722e9b441cc844dd38b1039dd4d8900
CRs-Fixed: 2689274
This commit enables support for SuiteB roaming wmi service based
on the WPA3 SuiteB roam service capability advertisement
received from Firmware.
In SuiteB the PMK length is greater than the existing PMK length,
added the extended PMK parameters to fill in the remaining bytes
of PMK in the RSO command.
Change-Id: Ia630580bba050513800e3acac875baf937ec8d14
CRs-Fixed: 2685993
In order to enable/disable the OBSSes whose transmission can be treated as
SR opportunity for SRG and Non-SRG based Spatial Reuse, add the required
WMI support. Also, add the Host abstractions for the following
- WMI_VDEV_PARAM_ENABLE_SRP
- WMI_SERVICE_SRG_SRP_SPATIAL_REUSE_SUPPORT
CRs-Fixed: 2684157
Change-Id: Ib3e919766436ca4d4e7f9242b642ba309dbf9a47
With specific AP(s), FW needs to perform FT initial mobility
association instead of FT roaming for deauth roam trigger.
Add iface changes to configure "FT initial mobility roaming
for deauth roam trigger" behavior from the HOST.
Change-Id: I695a36b66a7a53e8d08526c065a9530196646184
CRs-fixed: 2665885
With the current implementation of wmi init command,
there is no provision for the host driver to provide mem
chunks addresses with more than 32-bit, to the firmware.
WCN3990 is a 35-bit target and can accept mem chunks addresses
which are above 32-bit.
If firmware supports address range more than 32 bit, it
advertises the support by setting the WMI_SERVICE_EXTEND_ADDRESS
service. Based on this service fill the upper bits of paddr while
providing the mem chunks in the wmi init command.
Change-Id: Id65eb03d8f5cec5b9f16e24287a45a86433ab970
CRs-Fixed: 2678069
Add support for processing the start scan response
WMI event. FW provides the necessary information to
segregate FFT bins to pri80, 5 MHz and sec80 in
160/165 MHz. Also, cfreq2 and the channel width is
provided to FW via WMI command.
CRs-Fixed: 2672081
Change-Id: I666b6c18a63d5d01117aa9cbd611691c6f8b2793
When Host receives the WMI_REG_CHAN_LIST_CC_EVENT from the target,
the regulatory phymode bitmap is of the type WMI_REGULATORY_PHYBITMAP.
Convert WMI_REGULATORY_PHYBITMAP values to REGULATORY_PHYMODE values
in extract_reg_chan_list_update_event_tlv, to use it internally in
the Host.
Change-Id: Id2e37989e13007f60cf92d02c282c84407501d5f
CRs-Fixed: 2679640
The current value of WMI_BEACON_TX_BUFFER_SIZE imposes a limita-
tion on the size of the probe-response template that host can
send to target. This limit is good for offloading probe response
to target in case of soft-ap
WIN AP requires to support up to 16 VAPs in a single WIFI radio.
Also, 20TU probe response requirement for 6Ghz AP now requires
WIN AP to offload probe response
The current limit of 500 bytes is sufficient for soft-ap but does
not fulfill 16 6Ghz WIN AP requirement
Define WMI_BEACON_TX_BUFFER_SIZE for WIN AP as 1500 bytes
CRs-fixed: 2681235
Change-Id: I6251ee049451aa0c4a0482d772842a4f688b2f89
To be able to configure SRG BSS Color Bitmap and SRG Partial BSSID Bitmaps,
add the required WMI support.
CRs-Fixed: 2665817
Change-Id: I141abe24dd34cab92f45b230b385500902d01416
The stale value of this field blocks driver from sending
FW_HANG wmi messages to target after recovery
Change-Id: Ib44388c5c95c2574c96117b77fdabda26f5890bd