There will be excessive logs in exception path when running SAP embedded
traffic since these logs are per packet.
Fix is to ratelimit all logs in IPA exception path to avoid excessive
logs.
Change-Id: Ia96a60f4de145740d7099b432c92e7b5785047d2
CRs-Fixed: 2272014
Assert in firmware due to invalid vdev id in spectral scan
request.
Fix is to check for invalid vdev id before spectral scan
req send to firmware.
Change-Id: I05b2e359a7b2535384fa40276d3aa42469b7ae81
CRs-Fixed: 2259269
If we disable LFR3 featurization (CONFIG_QCACLD_WLAN_LFR3=n),
Driver does not able to compile due to change present in
Change-Id: I4c91cac6bad400c8fa58b2a6ba2b282a3b7f1620.
Fix is to include change I4c91cac6bad400c8fa58b2a6ba2b282a3b7f1620
under WLAN_FEATURE_ROAM_OFFLOAD feature flag.
Change-Id: I9dcf3bbcd5564c08b0ba52cfebfb2118fd50fee8
CRs-Fixed: 2268764
In the API lim_perform_ft_pre_auth, the driver sends
a auth frame to a peer whose MAC address is extracted
from the session entry, and it may happen that the
pointer tpftPEContext is NULL, which results in
pointer dereference.
Fix is to send an auth frame only if the sFTPEContext
is valid.
Change-Id: I5544739a0b438efcc0216bbccdcff113946b330b
CRs-Fixed: 2259250
In the API hdd_update_tgt_cfg, the driver extracts hdd_ctx from
context, and it may happen that the context is NULL, which may cause
pointer dereference in the same API
Fix is to have a NULL check for hdd_ctx
Change-Id: I9216e0fb72d1825af10445c52448c102603f7e13
CRs-Fixed: 2259401
In wlan_hdd_cfg80211_start_bss, not all the error path will
reset IEs, which might lead to memory leak of IE buffers.
Update error handling of the function to ensure that it will
cover all error cases.
Change-Id: I44d1eeb4d0100a2f720ea20abd5eacf9fa9bf1fc
CRs-Fixed: 2271222
To poiulate peer rates (Supproted rates, HT & VHT Capabilities)
lim_populate_peer_rate_set first copy values of
psessionEntry->rateSet.rate in a local buffer tempRateSet for
sorting of rates. Currently while copying, index for
psessionEntry->rateSet.rate bufffer varies from 0 to max rate
allowed SIR_MAC_RATESET_EID_MAX(12). This results access of 13th
index(OOB) of psessionEntry->rateSet.rate buffer.
The fix is to set proper upper bound to copy values of
psessionEntry->rateSet.rate in to a local buffer tempRateSet.
Change-Id: I75d5f5b5e7d44665101dae6e095b4adadc1781fb
CRs-Fixed: 2268610
Standalone SAP is not allowed on DFS channel if STA+SAP SCC enabled
on DFS channel. So move the SAP to a non DFS channel as soon as STA
gets disconnect.
CRs-Fixed: 2145495
Change-Id: I27d018739f53997641a7113cfc7c844e02bd7e29
Implicit conversion from enumeration type 'enum dfs_reg' to
different enumeration type 'enum nl80211_dfs_regions'
[-Werror,-Wenum-conversion]
Change-Id: Iceff212456180b995a9432be04af5e39e7863acb
CRs-Fixed: 2271384
In the APi wlansap_roam_callback, under switch
case of roam result eCSR_ROAM_RESULT_INFRA_ASSOCIATION_IND,
the driver passes csr_roam_info in
wlansap_roam_process_infra_assoc_ind without a NULL check for
the same, which may cause pointer dereference.
Fix is to call wlansap_roam_process_infra_assoc_ind only if
csr_roam_info is valid
Change-Id: I6388b7c8f7af827a5c2a862779f04b22c5c5f23e
CRs-Fixed: 2260094
In the API csr_roam_read_tsf, the driver assigns
pBssDescription to handoffNode.pBssDescription but
it may happen that handoffNode.pBssDescription was NULL,
which would result in a pointer dereference.
Fix is to assign pBssDescription, and perform related
operation with pBssDescription after valid check for
handoffNode.pBssDescription.
Change-Id: I2b9ff44e22aa86b1430d8a624bac2f0e50b91738
CRs-Fixed: 2259253
In function wma_extscan_change_results_event_handler(), numResults
in dest_chglist is assigning as total_entries in the event, but the
memory allocated to dest_chglist is based on the numap variable,
which may cause out of buffer read in extscan indication callback
function wlan_hdd_cfg80211_extscan_signif_wifi_change_results_ind().
Also tSirWifiSignificantChange array parsing in both the functions
is not efficient which may lead to accessing unallocated memory.
To address out of buffer read, assign numap to numResults in
dest_chglist and to address accessing of unallocated memory,
parse tSirWifiSignificantChange array with efficient logic.
Change-Id: Ia0c287147e80e17de84fe6b1cb83c8e3c29a1fa0
CRs-Fixed: 2253396
Beacon's channel is checked against ACS channel list before even
getting the beacon's channel resulting in no beacon parsing at all.
Check for beacon channel in ACS channel list after getting the
beacon's channel.
Change-Id: I16edcf9eaa0eafce289cc050652702eb90d79c9d
CRs-Fixed: 2271461
User can override the Listen Interval value set during association
by using wifi config set vendor command. Since there is no limit
check in host, a very high value causes an assert in the Firmware.
Add an upper limit check on the user Listen Interval value.
Change-Id: I8128ccbb875adf57c95a15d0391fb442d3dbbbc3
CRs-Fixed: 2256334
During the review of "qcacld-3.0: lim: Replace tSirRetStatus with
QDF_STATUS" it was observed that the documentation for function
pe_process_messages() referenced an incorrect return type and return
value. While addressing this issue it was further observed that
pe_process_messages() was only being called from within lim_api.c by
pe_mc_process_handler(). Since these are both trivial functions,
consolidate them into one function.
Change-Id: Ia66088b79003e0c8c517a8e3ae32540c19fec070
CRs-Fixed: 2271550
A recent set of changes replaced all tSirRetStatus definitions with
QDF_STATUS. However some code comments were overlooked since they
incorrectly referred to eSirRetStatus instead of tSirRetStatus. Change
those comments to correctly reference QDF_STATUS.
Change-Id: I3b5779d0a09e594f1371362d161d3ea4c887110c
CRs-Fixed: 2271549
Currently lim_post_msg_api() and lim_post_msg_high_priority() are
defined to return a uint32_t status. This is an artifact of many
generations of driver changes. These functions now return QDF_STATUS,
so update the signatures as well as all callers to properly expect
this return type. In addition remove the legacy wrapper function
pe_post_msg_api() since it is unused.
Change-Id: I00f991d64e3542336526e7ed2ca36e4112918cb7
CRs-Fixed: 2271548
Add CDP API to set RX MIC key in datapath.
Required to perform RX demic of fragmented packets.
Change-Id: I3c05da62ff20f8551cdc5780ce2f7b8d23c73a37
CRs-Fixed: 2217884
Add ultra low verbosity level to distinguish datapackets and special
packets. And post TPUT event to DPTrace logic so
that it can disable data packet logging during TPUT scenarios.
Disable print and in memory logging when packets per second exceeds
4 packets.
Change-Id: I70c9368de4cb2423901449b267452a34d652213d
CRs-Fixed: 2185186
rx_thread can sustain the TCP DL KPIs with silver core.
So let system decide scheduling of rx_thread for TCP.
Move rx_thread to perf cluster only for UDP traffic exceeding
the threshold. This is achieved by having monitoring non
rx_offload traffic. This takes care of platform(such as ROME)
which doesnot support rx_offload and also cases when we don't
support rx_offload(SAP, concurrency etc..)
This rx_thread affinity can be overridden by INI configured
rx_thread CPU mask.
Change-Id: I0e47221a2491c67c8da4b331756a3b5a18a82e37
CRs-Fixed: 2185186
Add INI option to specify CPU mask for Rx_thread and affine
Find current online cores.
During high TPUT,
1) If user INI configured cores, affine to those cores
2) Otherwise perf cores.
3) Otherwise to all cores.
During low TPUT, set affinity to any core, let system decide.
Change-Id: I10e906d484e300bb32491d7d60d717e92b92aaef
CRs-Fixed: 2185186
Current NAPI IRQ affinity logic doesnot have way to specify
configurable CPU affinity option. Instead it starts affining them from
starting from biggest available core.
Current profiling experiment suggest that NAPI IRQ affinity is not
required, so set default as no affinity.
Change-Id: I0bea3389a7565f8ec157d4587a442b5e11c33fb2
CRs-Fixed: 2185186
This reverts The Change-Id: Ifa2872ef62925f99bf49ef504ade4a4bb431672b
because this change results slower down the downloading speed of file
from the server in weak signal (-70 RSSI) area.
Change-Id: Iec7423809f5225de9b5c4d08d7806a8a2a9dfe06
CRs-Fixed: 2270285
Add enum QDF_MCC_TO_SCC_WITH_PREFERRED_BAND(6) for this.
If ini gWlanMccToSccSwitchMode is selected to
QDF_MCC_TO_SCC_WITH_PREFERRED_BAND(6) then following will be the
behaviour of STA+SAP concurrency.
1. If second interface(SAP/STA) comes in same band as
first interface(STA/SAP) respectively then force SCC
irrespective of channel.
2. If second interface(SAP/STA) comes in other band as
first interface(STA/SAP) then dont force SCC allow
interband MCC or DBS based on DBS capability.
Allow interband MCC but not intraband MCC.
Change-Id: I91d41b4b0306ed4e362b5bcab9538f5fd5feea7d
CRs-Fixed: 2260672
Fix checkpatch issue introduced by change "qcacld-3.0:
separate HE caps per band", use new mac_handle_t instead
of tHalHandle in sme_update_tgt_he_cap param and fix
indent issue.
Change-Id: I91e11fd38ac72266b4afcf42d71340975127f559
CRs-Fixed: 2268400