Host changes to enable HTT version 2 messaging for
PEER map and unmap in FW and changes to handle these
messages in host
Change-Id: Ifbe478212bbbc9c9ea1c1e4791c7a78407c376cc
Update handling of WMI_SAR_GET_LIMITS_EVENTID for a possible OOB that
can occur if param_buf->fixed_param.num_limit_rows is greater than
actual TLV length of param_buf->sar_get_limits array.
Change-Id: Iccacbb3689e6a7bdd73b2b1f0517d011ccf6d076
CRs-fixed: 2307276
Make the HECAP and HEOP changes for 11ax Draft3.0.
Draft2.0 support can still be enabled by unsetting
SUPPORT_11AX_D3 in config.unified.wlan.profile.
Change-Id: I0c0fd885a43b672baca61011b75a51526481b1ee
CRs-fixed: 2294235
We are transitioning to new logging infrastructure
by using existing mtrace functionality.
Add new logging for complete WMI module.
Change-Id: Ifbc81a6f119ff63b69e3558ad7becb1eaefae8ca
CRs-Fixed: 2301964
For qdf_mtrace 15 bits are reserved for message id and currently
WMI message IDs are getting used as 32 bit IDs.
Write a wrapper function which accepts 32 bit message IDs and
converts this 32 bit message id to 15 bit by extracting
WMI_GRP_ID and WMI_MESSAGE_ID in that group. New 15 bit
message ID for qdf_mtrace will be constucted as 8 bits
(From LSB) specifies the WMI_GRP_ID and remaining 7 bits
specifies the actual WMI command. With this notation there
can be maximum 256 groups and each group can have max 128
commands which can be supported.
Change-Id: Ia5adfc079b63c2311bdc8ae4c73488d89afd462f
CRs-Fixed: 2298877
Add wmi layer support to get firmware roam scan statistics which includes
scoring of roam candidates, channels, old and new bssids etc.,
Change-Id: I3a0aafbe66d12eea40e71ceb4c7c3a60b9d6e04f
CRs-Fixed: 2203904
The function extract_pdev_utf_event_tlv, is called when the WMI
event WMI_PDEV_UTF_EVENTID is received. The event_buf
argument to it is fully FW controlled. There is an assumption
that the WMI message is at least the size of struct
wmi_host_utf_seg_header_info which could lead to OOB read issues
when a shorter message is sent.
Add fix to validate the event->datalen passed against
sizeof(struct wmi_host_utf_seg_header_info) before copying to
seg_hdr.
Change-Id: I1a8313f11013722edb601c009e59b1509fda3280
CRs-Fixed: 2305465
There is possible to read buffer overflow. Since it don't check number
of NOA descriptor when handling WMI_P2P_NOA_EVENTID.
Change-Id: I08fc3ac429bc19a8df7ac429fbe779fa3b227318
CRs-Fixed: 2307321
P2P Listen offload is not a requirement for Genoa, hence featurize
P2P listen offload code to save memory foot-print for Genoa.
Change-Id: I3c32b4ee2b37421e49acee4bd20d36e7a8a3bf77
CRs-Fixed: 2304555
1. Service ready ext includes a parameter for max
BSSID indicator.
2. Beacon template includes MBSSID IE offset.
3. Vdev create and up cmds include more parameters.
Change-Id: I71214eacdaa886725b7ea8f61db3a743ba6597e9
CRs-Fixed: 2306638
If RX mgmt frame is received with error decryption,
discard it in WMI layer earlier to prevent further
processing and introducing unexpected behavior, do this
for MCL only.
Change-Id: I3d0f0ca72ae497012f93f39739b727692098ba2d
CRs-Fixed: 2296371
Add TLV support for estimated airtime calculation.
Add support to send esp_ie_offset along with beacon template.
Change-Id: Ic70ad7df330674a10ac6051f96975aa928700ba3
CRs-Fixed: 2300339
Reduce log level for few prints to debug to avoid flooding
of prints to console.
Change-Id: I514585cc87d51ead15fb1f40d45f62023628d9bb
CRs-Fixed: 2296839
Add new WMI command to support WMM based ATF configuration.
The new WMI command sends the Access category ID and the
corresponding airtime allocation to the firmware.
Change-Id: I7a5fafa6190d779d0fef8982b7b781af54656b19
CRs-Fixed: 2293193
pe sessionId should not be used as vdevId.Add
vdevId field to aggr_add_ts_param and use it
in wmi command.
Change-Id: Id021dda35a32f7870277d405c85a0878d7baa3f3
CRs-Fixed: 2293867
Clean up WMI component prints by correcting trace levels for
regularly occurring prints and removing newlines from converged
print APIs since qdf_trace_msg appends them by default.
Change-Id: Ie375e6fda2943f5f2b7287da4374ef9d7470d593
CRs-Fixed: 2243843
WMI_PEER_TWT_REQ and WMI_PEER_TWT_RESP flags are introduced in peer
flags sent to FW in PEER_ASSOC_CMD. Add corresponding flags in host
structure to indicate peer's support for TWT requester and TWT
responder.
Change-Id: Ic5edb594a95b255fe8ce1091d96c4d886b4d6170
CRs-Fixed: 2290026
ba_window_size_valid and ba_window size support is missing
while sending wmi_peer_reorder_queue_setup. This is needed
for handing 256 BA which is not FW default.
Change-Id: I3218921c48c0f82225b7992076e73ac0acf7bd11
CRs-fixed: 2285423
We are suspecting that peer_rx_reorder_queue_remove_cmd is causing
drop of ARP response frames from REO by the FW. This may cause drop of
ping packets.
Add a check in the function to detect if its being called.
Change-Id: I368aa8155830e8e6fadccfaf9ab5bfbfc8bfdd35
CRs-Fixed: 2254858
Currently the 'setratemask' command supports setting
the rate mask for upto MCS0-9 and NSS 4. Add 'lower32_2'
field in the ratemask_params struct to extend support
for the 'setratemask' command to set rate mask
for upto MCS0-11 and NSS 8.
Change-Id: I9c06ae238142dca37df9826ca34449dd34ee6782
CRs-fixed: 2251392
Add ini item to configure active dwell time of 2.4GHz band channels,
This will help to reduce AP search failure probability & hence
connection latency in 2.4GHz band channels especially in noisy
condition by increasing active dwell time.
Change-Id: I05259a8f1fd4a5c67da42e516721a01d32fa652e
CRs-Fixed: 2283692
Existing antenna gain command does not take odd antenna gain value that is
gains are not supported in steps of 0.5db. antenna_gain_half_db pdev
param provides this support. Added WMI and CDP changes to configure/read
this data.
CRs-Fixed: 2024854
Change-Id: I47da9eed74a1a0180cefb4c3f47bc4340da1bdfd
Add WMI support to send action OUI extensions to firmware.
For STA interface, this feature is intended to control mode of connection,
connected AP's in-activity time, Tx rate etc.,
Change-Id: I6a0bc9d3f7f0d57805b872cae4baa1fe84fb8193
CRs-Fixed: 2254509
If SAR version 2 is not supported by firmware, then fallback to
default SAR version 1
Change-Id: Ibfbcfd7cf3f438f7cb46250c70221956ea54c7ca
CRs-Fixed: 2274447
Currently the host sends the fixed gtk offload params
and the FILS TLV params, even when the FILS feature is disabled
in the host, which force firmware to pick the KEK from the
FILS TLV structure rather than from the fixed param structure,
which further leads to GTK re-keying feature fail.
Fix is to send only the fixed params in case when host doesnt
supports FILS.
Change-Id: I53a77257e716bf290a6f4bd62927020f073e2df6
CRs-Fixed: 2275938
WMI_VDEV_PARAM_SET_HE_SOUNDING_MODE provides the scope for host
to configure the sounding mode to (VHT or HE). It also provides
(SU or MU) and (Triggered or Non-Triggered) configurability.
Change-Id: Iac566383c5a6b6b3b402526afd2bfa4818f27bc5
CRs-Fixed: 2262752
Reduce log level of channel list logged as part
of roam scan offload command processing.
Change-Id: I8b37db9de94d8f399525255f7d073a6340a058f3
CRs-Fixed: 2271608
Data len received in encrypt decrypt data response
is not validated against the max allowed size which
can result in buffer overflow.
Fix is to validate data len against max allowed size.
Change-Id: I69bd8e63014220e5a2f291e4a0b1914d10c79fd7
CRs-Fixed: 2226375
Add check for valid length before copying in function
extract_ndp_ind_tlv to avoid potential buffer overflow issue.
CRs-Fixed: 2271344
Change-Id: I2ddcbc46a45d4d5308b1e0cf663598c85512bbaf
Pdev parameter to prioritize IGMP packets are supported through
WMI_PDEV_PARAM_IGMPMLD_AC_OVERRIDE. In legacy platforms, they are
supported by different pdev parameters WMI_PDEV_PARAM_IGMPMLD_OVERRIDE
and WMI_PDEV_PARAM_IGMPMLD_TID.
Map host maintained pdev params wmi_pdev_param_igmpmld_override and
wmi_pdev_param_igmpmld_tid to WMI_PDEV_PARAM_IGMPMLD_AC_OVERRIDE since
this is the one supported by TLV based targets.
Change-Id: Ia11787265bd926f257dc1b028552c6e7f1f733d2
CRs-Fixed: 2272219
In the function __wlan_hdd_cfg80211_stats_ext_request,
data_len is recieved from vendor command and is passed ultimately
to send_stats_ext_req_cmd_tlv. In send_stats_ext_req_cmd_tlv, len
is calculated as sum of sizeof(*cmd), WMI_TLV_HDR_SIZE,
preq->request_data_len.The len is of type uint16_t
and adding sizeof(*cmd) + WMI_TLV_HDR_SIZE will cause a buffer
overflow.
Changed the datatype of len to size_t so that it doesn't overflow.
Change-Id: I6618042e3c60bbdb1ff5d833188f4bdb4832da7a
CRs-Fixed: 2243169
Add support for NDP TCP/IP params in ndp initiator
request, responder request, indication and confirm.
Change-Id: I5d60af154ea4a2f33d18d9b86049f316e7fbc524
CRs-Fixed: 2252227
If the feature is enabled macst frames would be sent out
even when there are clients in power save (instead of DTIM).
CRs-Fixed: 2133095
Change-Id: I927be022916674cb008459868b095f15c37d8636
Android Packet Filter 3.0 requires the framework to be able to
read and write into the APF work memory in the Firmware. It
also requires to be able to enable or disable the interpreter.
New WMI commands are defined for read/write/enable/disable
operations.
Complete the implementation of these new commands.
Change-Id: I852d61eb213d9ae530e8a71069144ef35816f5b8
CRs-Fixed: 2184971
Add service enum and populate service id for listen
interval offload support so that wmi_service_enabled
API can be used to check if the support is enabled.
Add enum for listen interval offload support
Change-Id: I62dbadb4980f54db8431ad53d096f7fc210d25d7
CRs-Fixed: 2253684
QCN7605 requires Management frames to be transported over WMI.
Enable this for HL transport too.
Change-Id: I97551684224cf027beadb403ac2220fa355af986
CRs-Fixed: 2252391
Before wow enable or pdev suspend host sets hardware filter bitmap
and enables the filter via a command. But after resuming it sends
bitmap as zero with filter disable. This is interpreted by Firmware
as disable the modes set in the bitmap, so none of the modes are
disabled. With this host will not receive bc/mc packets after
disabling the hw filter, which it is expecting.
Use the correct bitmap sent by cld for disabling the hw filter.
Change-Id: I465e2ec40b6fde8a9e99743a1b9979b67cce5408
CRs-Fixed: 2194973
In implementation of Android Packet Filter, functions, variables,
definitions are named after BPF, which stands for Berkely Packet
Filter. The term was more appropriate for Link Layer packet
filters implemented in the Linux kernel, known as Linux Socket
Filters.
The term BPF is obsolete now, so rename it with the
appropriate acronym, APF.
Change-Id: I606afc747cddedb524a41cd8e5998400f04e69f6
CRs-Fixed: 2191531
File wmi_unified_tlv.c is bloated and adding support for upcoming
Android Packet Filter v3 is going to increase its size even more.
Create a new source file for APF related WMI modules and a header
file for declaring the API's
Change-Id: I37dcc30c7d1311067f375c891be9723612161de9
CRs-Fixed: 2189827
qcacld-2.0 to qcacld-3.0 propagation
Add length check to prevent the data overflow the wmi buffer. The
total length of data should not exceed max svc msg size.
CRs-Fixed: 2248879
Change-Id: I1543732fcfe0cb7e32f7175f7775c9550854cae8
Currently the service bit of wmi_service_wow_wakeup_by_timer_pattern
is not set and it is 0. This is wrong because 0 is the service bit of
wmi_service_beacon_offload.
Set wmi_service_wow_wakeup_by_timer_pattern service bit as
WMI_SERVICE_WOW_WAKEUP_BY_TIMER_PATTERN
Change-Id: I52058d79281aeed9312ce6c0c361d3cb254fef07
CRs-Fixed: 2250922