In WMI/WMA, data from event buffer from FW is used without
sanity checks for upper limit in multiple places. This might
lead to a potential integer overflow further leading to buffer
corruption
Add upper bound checks for max limit of event buffer (1536)
in all affected places to prevent the potential integer
overflow
Change-Id: Ic9194a27c4a4c63fc68ff7fc61165a53e66ca4f4
CRs-Fixed: 2095545
Initialize average rssi with instantaneous rssi in
util_scan_unpack_beacon_frame intead of marking it as
DUMMY.
Change-Id: Ie2fd577feeb46d61915c6974d8c627acb31e8b81
CRs-Fixed: 2096979
D1.3 defines the IE Id, Length and IE ID Extension for HE CAP and HE OP.
Host changes to accommodate them.
Change-Id: Idc3848b5486d05807cdc2ca3fb45ac493243558e
CRs-fixed: 2095550
When hdd_get_tx_resource is called, if free Tx desc is lower than low water
mark, vdev->os_q_paused will be set as 1 and WLAN_STOP_ALL_NETIF_QUEUE will
be triggered after a while. Before WLAN_STOP_ALL_NETIF_QUEUE is triggered,
if ol_tx_flow_ct_unpause_os_q is called, WLAN_WAKE_ALL_NETIF_QUEUE will be
triggered and vdev->os_q_paused will be set as 0. In such case there will
be no flow control unpaused forever.
Tx should be paused by flow control when Tx desc is lower than low water
mark, and unpaused when Tx desc is bigger than high water mark or Tx is
already paused by flow control.
Change-Id: Ib60139fd94a4fb88c92a7f8aaf886ae9d3ca4c75
CRs-Fixed: 2090475
Reduce log spam from policy manager by converting non essential & periodic
logs to debug level.
Change-Id: I3cb01b47dd56edcf141479b14ea1e51e89b0473a
CRs-Fixed: 2094743
Fixed key index extraction in hal api to get correct key index from
key id octet.
Change-Id: I342c05260b17c5baba868223e1b6e75d995823aa
CRs-Fixed: 2073737
Few OEMs want DBS to be disabled for connections while
keeping DBS scan enabled.
Few OEMs want advance DBS scan features to be disabled.
Provide different value to gDualMacFeatureDisable INI item
to achive the goal.
Change-Id: Iddf5df23575a2f907bb8dbd0c37e03ff4ebbdea8
CRs-Fixed: 2068779
Fixed key derivation for mesh rx stats for received packet. Added cdp api
to get the key by passing key index and peer mac address.
Change-Id: I6a4c342b614ae85a5ad2fb047f2d8686aa068196
CRs-fixed: 2094335
In existing implementation when previous stats handling is under process
and a new stats event is received, new stats event is dropped.
Add support to queue any received stats message and process it
later in work queue context.
Change-Id: I7895a2f7ac49456c49374ce209da97c2148f43a2
CRs-Fixed: 2076552
Initialize the uninitialized variable in
policy_mgr_get_channel_from_scan_result().
Change-Id: I435e6021b989562b69b3bccaa9a90d9cfd3ae560
CRs-Fixed: 2091884
Add below fixes:
1. wifi3.0 only supports 2 HW DSCP to TID map tables.
Check for supported number of tables before
updating registers.
2. Do not overwrite previous DSCP TID config for
different DSCP values while updating TID map
for new DSCP value.
Change-Id: Icd8af1053fa48d3f1e2db317290f806cd41cd797
CRs-Fixed: 2091195
qcacld-2.0 to qcacmn propagation
Add support to include only selective IEs in probe requests in
order to improve user's privacy.
Change-Id: I59cf4181f60f5b4cd87a32fbcf29160d87ca59c8
CRs-Fixed: 1105495
FW implementation is updated to add more fields in chan info event.
Update host implementation to extract these fields.
Change-Id: I4935f3aa1c2e87d27a13a29651db8d8835cb4f91
CRs-Fixed: 2090787
Add missing qdf_spinlock_destroy() to destroy spin lock debug cookie
for SLUB build. For normal builds, qdf_spinlock_destroy() is a NO-OP
function.
Change-Id: If5a3843a468e460952dc64f0e6b5b1fba05ebbb3
CRs-Fixed: 2078940
Send peer create to NSS only when peer map comes for connected peers.
When peer map comes for WDS peers only update WDS peer specific entries.
Change-Id: I32d785180bcd1dae2703d40b55f4536685f10439
Relax the check on nss field during FW advertised HW mode table lookup.
Instead of looking for exact match look for less than or equal to the FW
advertised nss value.
Change-Id: I360d14282f03aad25f4338546cbcbfb3cbd3a76b
CRs-Fixed: 2090863
There is a case when the multicast/broadcast frame gets loop backed
even before a MEC WDS entry gets added, in this case
the MEC check based on sa_is_valid will fail, hence added
another ast lookup check.
Also fix the ast entry iterator to use _safe option, since
we are deleting ast entries in the same iterations
Change-Id: I0567893783649d991c3623a61c60fbc63d1a24ef
Add macro protection for HIF CE, it shouldn't include the ce head file
when the module is usb or sdio.
Change-Id: Icc38ffaa24581141f86d41afe2db7c5aa944a1cd
CRs-Fixed: 2090621
When an invalid mac address(all zeros 00:00:00:00:00:00) sent
to the host via user configuration, it triggers the crash in
the system.
Add checks to reject the invalid mac address configuration
in TDLS.
Change-Id: I340f581e7011f78faf5f58c10f7b6eec15ea2940
CRs-Fixed: 2068026
Currently only one connection information corresponding to the
provided mode is deleted and restored, which causes channel
selecting failure in DFS testing with AP+AP concurrency mode.
When radar is found in AP+AP concurrency mode, a new valid channel
should be selected. Before selecting the channel, all existing
connection information of SAP mode should be deleted, otherwise
no valid channel can be selected.
All the connection information corresponding to the provided mode
should be deleted and restored.
Change-Id: Id363dbb2c31485fefcd6915696060923063079bb
CRs-Fixed: 2079597
The for loop was wrongly written. buf_len was decremented but the
counter was compared against buf_len, leading to lost bytes in the dump
Now with this change we compare buf_len is compared with 0, i.e., when
buf_len reaches 0, the loop exits
CRs-Fixed: 2091891
Change-Id: Ic5276e964e08a7db757bfed0569b290d987ddf5f
Getting the next node of a linked list should be a O(1) operation.
qdf_list_peek_next, however, iterates though the list first, checking
for node membership, before returning the next node. This makes the O(1)
operation a O(n) operation instead. Code that uses this API for list
traversal inadvertently performs a O(n^2) operation, causing unexpected
performance issues. Similar problems exist for qdf_list_remove_node as
well. Remove the membership checks in qdf_list_peek_next and
qdf_list_remove_node to prevent unexpected performance penalties.
Change-Id: If20825690ad861815c8164caebbf75318e572f0a
CRs-Fixed: 2091815
Enable WMI PDEV parameters to configure per TID AMPDU and AMSDU in TLV implementation
Change-Id: I12982e78f880bf9bf8858aaa99aa416d7f775c17
CRs-Fixed:2089935
Add a field ldpc_rx_enabled to vdev start parameters so that
this information can be propagated from the upper layers to
WMI and further to firmware.
Change-Id: I25fd148f77d86eb646a0e40fef6ac99c4fbcdf22
CRs-Fixed: 2023893