Once the wmi command is send to the FW, a sequence of events
(deletion of peer and sending of unmap messages to host) happens
on FW. This could potentially make a subsequent access to peer_addr
an access after the object is freed. Indeed a crash instance of
such a case has been reported.
Fix this by moving the print command before the actual wmi command
send.
Change-Id: I5a0d19b9b4a09687d5513acc52139a73b8490512
CRs-Fixed: 1108700
Defination of enum WMI_DBG_PARAM is used only in host
so moved to host private wmi file.
Change-Id: I42a529b343e4e6e81b570c505385cfc8dbf9f017
CRs-Fixed: 1107600
Convert the wireless_modes HALPHY capability from FW defined REGDMN_MODE
values to host internal WMI_HOST_REGDMN_MODE values. This will help make
host code independent of target specific definitions.
Change-Id: I6d325f76959b35a3f854ade680f4d058c9d4bfcb
CRs-Fixed: 1061096
Change incorrect extraction of wmi_handle from file handler
reference during write operations, performed on debugfs files
in wmi_recording/wmi logging.
IR-Fixed: 189093
CRs-Fixed: 1111722
Change-Id: I0603efe8f8e2530950f845f9ef9419b6784c626f
qcacld-2.0 to qcacmn propagation.
Don't Tag Non-WoW packets as Runtime PM packets after
wow suspend. Some WMI Commands can be send in Runtime
PM context and MC thread context. Packets coming via
MC Thread Context can be tagged as Runtime PM packets
when runtime pm in progress.
Packets should be tagged in the same caller context to
avoid any race condition. Being stability issue, addressing
this issue by not tagging any non-wow commands as runtime pm
after wow suspend. This will ensure all the non-wow packets
coming after wow_suspend flag is set as non runtime pm packets
and will trigger a runtime resume.
Git-commit: 4a396d80c5cc2ded75098c61426521b9b2762c17
Git-commit: 2ee4bf4791cc5db30ec03eceaf591367deffe39a
CRs-Fixed: 1106496
Change-Id: I4e55733ad8403581aca0b49ce9442fc5591335c0
wmi_stats_event structure is defined in FW header wmi_unified.h with
variable length data as A_UINT8 data[0]. KW tool perceives this
as a single uint8 and throws zero sized array when we try to access buffer
following data.
A uint8 pointer is assigned to data for this purpose in order to fake
the tool and resolve the issue.
Change-Id: I998f80c84554bc5bf4d0b2df1dae85352d72cb21
CRs-Fixed: 1106787
When CTL array is configured using acfg_tool, the CTL values are not
impacting powers due to incorrect band value passed to the FW. It is
found that the memory copy for band and CTL array are done together
in a single operation.
However, with convergence, both acfg_tool and wifitool will call the same
underlying WMI API to set the CTL table. In order for concurrent working,
we need to copy the band value separately for acfg_tool, before copying
the CTL array. This fixes memory corruption that is currently seen
as evident from the garbage value for CTL band.
CRs-Fixed: 1087168
Change-Id: I42f6bc39eb3930e8c995ff76294b7d77676f2299
Propagation from qcacld-2.0 to qcacmn.
Several Action frame categories are not processed in host and they
are not forwarded to supplicant either, but they are dropped in host.
These unprocessed action frames are forwarded to host by FW and
wake up host unnecessarily which leads to battery drain. With this fix,
host conveys FW the disallowed action frames list at HDD startup
so that the remaining frames can be dropped in FW itself thereafter
when under WoW mode.
Change-Id: I40b49d42df94085784c8f1d8321de0ee61473ae0
CRs-Fixed: 999114
Add WMI host defines to check cal data status and use appropriate copy
macros to take care of big-endian conversion.
Change-Id: I4358761e807ac584c638b6e36229dbbbb85bf651
CRs-Fixed: 1105756
Add a check to see if the key index is more than 4.
Assign default key_id of 0 if an invalid index is provided.
Change-Id: Ic3a4230360f1fa4e05dfd3ba4f558ff0fb074aef
CRs-fixed: 1103920
WMI message to allow Specific Absorbtion Rate / tx power
limits to be set per band, chain, or modulation class.
Change-Id: Iece786a4e731462fd282e3eb3107541338a3af30
CRs-Fixed: 865207
Remove SUPPORT_64BIT_CHANGES compiler flag to make code common for both
64-bit and 32-bit platform.
Change-Id: I47e43c39e7f58cd04cbc3fb21d348af6b094e006
CRs-Fixed: 1105174
Add wrapper to make WMI layer agnostic to the context in
which the WMI registered event handler should execute.
Change-Id: I3b8b4621cfa8d816188fdc5c688bce94528eca59
CRs-Fixed: 1096016
Defines for Beacon burst mode, management tx power and beacon tx rate
are added recently for TLV targets. Add these defines to the supported
list of pdev and vdev param ids used by host.
Change-Id: Ifa5d17211943eff3f2d9422f7898a00c3d794a39
CRs-Fixed: 1100734
There is a regulatory requirement for Specific Absorption
Rate (SAR) whereby the phone transmit power is reduced
when it is determined that the phone is in close
proximity to the body.
Implement a vendor command interface to set SAR power
limts dynamically.
Change-Id: I0a214a2af780e9dd8c381c4e9eaa7d8cab6ef853
CRs-Fixed: 1098102
scan req flags for FW should be set based on the flags in request.
scan request is assuming num_bssid as one and copying single
mac_address but it should support more bssid and hence change this
to add multiple bssids.
Change-Id: I3fbad3353c1a9904847e09c527254e104cb6db71
CRs-Fixed: 1099421
Currently, WMI is using dfs flag offset that needs to be set from upper
layers. But these offset is defined by wmi and it is correct to set it
from WMI itself.
Change-Id: Ib9ff2122ed5b92fb21b01a87f0e99c3a54d1a83c
CRs-Fixed: 1099416
In function wma_get_buf_extscan_change_monitor_cmd() and
wma_get_buf_iextscan_hotlist_cmd(), numAp is of type uint32_t
but it is assigned to variable numap of type int.
Fix this by making 'numap' also of same type 'uint32_t'.
Change-Id: I02502f05d2305f62cbde47db2893770673d19fc3
CRs-Fixed: 1096384
In function send_roam_scan_offload_mode_cmd_tlv, assign qos_qnabled
parameter being sent to firmware. Otherwise firmware will not be able
to get correct qos_caps value.
Change-Id: I3bdf43594f68cb0780f2947fff9db723644b5dac
CRs-Fixed: 1092258
The term "agile" is used by hardware for swift/fast channel change.
Use precac for the zeroCACDFS instead.
Change-Id: I35f4d61cc93b3542feb8b286cbdf3a4474df5a75
Crs-fixed: 1073945
A new iwpriv command has been added to configure the period
and wlan duration for a btcoex duty cycle.
As a part of this registring the wmi_service_btcoex_duty_cycle
for WMI_SERVICE_BTCOEX_DUTY_CYCLE.
Also send_btcoex_wlan_priority_cmd registrtaion for btcoex
duty cycle command in non_tlv_ops.
Change-Id: I7f3bfdfd9804566d6d0b7cce7025e99db57d0e23
Acked-by: Basamma Yakkanahalli <ybasamma@qti.qualcomm.com>
CRs-Fixed: 1064437
Agile flag WMI_CHAN_FLAG_AGILE_MODE added. When this flag is set,
the primary VHT80 will not be affected when channel change is done.
Change-Id: Ie6bce12ec955c0c8a79246dda57092808611803d
CRs-Fixed: 1072504
For WOW Enable, firmware accepts a bitmap of flags, but passing them
to firmware is not exposed by WMI. Modify WMI to allow passing WOW
Enable flags to firmware.
Change-Id: I458b01bc6a4e5b14b2a1dfee928136daeb70ebe9
CRs-Fixed: 1092068
Include TLV helper header file to fix implict function decration warning
treated as error. These APIs are required only for TLV target, hence
put it under TLV compilation flag.
Change-Id: I50f3629b3f69c3cdb46e2384e47d2559c803cd4c
CRs-Fixed: 1090087
We want to enable the compiler's -Wmissing-prototypes switch, but
there is existing code that is generating warnings. Fix all warnings
in wmi.
Change-Id: I2452ffa4e9fa1de8a7bd75d04dd4a0f94d7cf55c
CRs-Fixed: 1093298
Using a buffer after passing it to wmi_unified_cmd_send() induces a
race condition that may result in a use-after-freed situation. Fix
several potential use-after-freed situations when calling
wmi_unified_cmd_send() by ensuring all access to a buffer is done
before the call to wmi_unified_cmd_send().
Change-Id: I985aad6e49daf1d823e3751a9cb0a293a298323c
CRs-Fixed: 1089713
Add helper routines to extract TLV params in WMI EXT service ready
event. These helper routines abstracts all TLV related information
providing APIs to extract ext serivce ready params.
Change-Id: Ic989331856ed2f9376965bdec4b658328f9e470b
CRs-Fixed: 1079237
qcacld-2.0 to qcacmn propagation
To debug the fwr stuck issue as early as possibile,
reduce the wmi max pending command threshold to 256
from 1024.
Change-Id: Ic3cbe26cca979dcaa68fca03e6fe1af397cf0c4f
CRs-FIXED: 1080761
Add only wmi_roam_scan_mode_fixed_param TLV for ROAM_SCAN_MODE disable
command[i.e. mode is set with WMI_ROAM_SCAN_MODE_NONE |
WMI_ROAM_SCAN_MODE_ROAMOFFLOAD]. This is to retain the scan params
[n_probes, dwell time] so that it can be used if ROAM_INVOKE command
follows ROAM_SCAN_MODE disable.
Change-Id: Iafe31850872cac3eaff35eeb57ab271b4409ef18
CRs-Fixed: 1084912
Analysis: strict passive scan is not working as the scan_ctrl_flags
check is missed when strict passive scan enabled
Change-Details : Added a support in ol_ath_scan_start_send() and
send_scan_start_cmd_non_tlv() to update the scan_ctrl_flags with
WMI_SCAN_FLAG_STRICT_PASSIVE_ON_PCHN when strict_pscan_enabled
Change-Id: If6713e340841d4947ef9042421dabec35f7bfbae
CRs-fixed: 1069383
For Beeliner family of chipsets, the number of values expected is 688
for 2G and 1540 for 5G
Change-Id: I2c47ed98f639c09453687fce7f713946304a7036
CRs-fixed: 1071083
WMI command buffer is not cleared after WMI command TX completion.
For DISA certification TK and GTK should not remain in the memory
area after disconnection. Since WMI command buffer is not cleared,
hence content of TK and GTK is still in host memory region.
Clear WMI cmd buffer after TX completion.
Propagation from qcacld-2.0 to qcacmn.
Change-Id: Ib09a77b630c932409645b7a989bd959f0ed4f514
CRs-Fixed: 1060982
Log Transport Layer Tag for debugging. The tag differs for
normal command and the runtime pm commands.
CRs-Fixed: 1072520
Change-Id: I7ec085410aaa429cfeb8cc09729e62deee9c7d95
Recently added changes for coexistence of WIN/MCL TLV implementation
through CL I6868c288a43fd3afb19c84b8a9d4ef0dfbee5c94 require
adaptations in QCA WIN driver to successfully compile.
Add required definitions in WMI layer to adapt WIN driver to
changes made for coexistence.
Change-Id: I99550ca10553d8096b8967249c006bac4e0c62df
Currently, RTT related operations to change report type and number
of measurements are done in the WMI layer.
Abstract these operations out of WMI layer and keep it in the WIN
host API layer to make the RTT WMI API generic.
Change-Id: I9b73830912c6c2b3d0908788f1f6a77b7f43dcaa
TxRx chainmask is populated by the FW only in the case when report
type is WMI_RTT_REPORT_CFR.
Populate txrx chainmask to 0 when RTT report type is non-CFR to avoid
corruption.
Change-Id: Ie728656efe2f608e90a15b6fc94be3159db0f635
CRs-Fixed: 1080686
LOWI messages to register, set capability
and send RTT measurement request are not sent assuming only
LCI and LCR messages are sent out to the FW using ol_ath_lowi_data_req_to_fw.
Add code to send messages other than LCI and LCR through the API in
ol_if_lowi.c when msg subtype is not one of LCI or LCR.
Change-Id: I2deedaa6e03e769bf802337b2ec93d9573eb1b5a
CRs-Fixed: 1079169
The packet is allocated in wmi_unified_cmd_send so if it doesn't
get sent or added to a queue it needs to be freed.
Change-Id: I763824812d3c0510c53a70caf063568385b9bfc2
CRs-Fixed: 1079509
WMI_RECORDING:Fix implementation of WMI_MGMT_COMMAND_RECORD to
be compatible to WIN.
Current implemantation uses variables not applicable to
WIN.
CRs-Fixed: 1067944
Change-Id: I65b2415e40bd888d3b94ef5f04ec6d53b4d50da2
Tx data capture feature needs a new WMI command.
The fw common file is already reflecting this new
command.
New enum is added to WMI_HOST_PKTLOG_EVENT for this
feature.
Change-Id: I7b8535a311033debbbee5f56c87ac4858a0aa8e1
CRs-Fixed: 1068402
Acked-by: Debasis Das <ddas@codeaurora.org>
qcacld-2.0 to qcacmn propagation
Make the following enhancements to the EPNO feature:
1) Implement the reset EPNO command handler
2) Add new parameters for candidate score calculation.
Change-Id: Iad1ff9c2b003c9e3ddbc3373366686040ccb55ca
CRs-Fixed: 1075380
Extraction API for phy error event handling does not populate single phyerr
RSSI info for DFS radar event, but was populating the value in case of
spectral event. Single phyerr RSSI info is required for both DFS and Spectral
operations. As a result of this change, single phyerr RSSI info is updated
on receiving DFS event as well.
Change-Id: Idca3e4075e1869eda0d200a102e2ca2b7d33bf70
CRs-Fixed: 1076872