Commit Graph

10961 Commits

Author SHA1 Message Date
Bala Venkatesh
2f25c81c88 qcacld-3.0: Skip DFS channels if sta_sap_scc_on_dfs_chan enabled
If sta_sta_sap_scc_on_dfs_chan enabled then SAP is not allowed
on DFS channel in standalone mode. If ACS and sta_sap_scc_on_dfs_chan
are enabled ini then skip the DFS channels from the ACS channel list

CRs-Fixed: 2159816
Change-Id: I396d0c8996f8870de1570ed9932451567f5c77f3
2018-07-05 14:13:51 -07:00
nshrivas
8d225af8ff Release 5.2.0.87G
Release 5.2.0.87G

Change-Id: I83c1a746cc741be312c2fb7607dc81b60e7eb7a0
CRs-Fixed: 774533
2018-07-05 12:44:04 -07:00
gaurank kathpalia
b4d4472ba1 qcacld-3.0: Fix possible buffer over-read condition
In the API csr_roam_roaming_state_reassoc_rsp_processor
the driver extracts pNeighborRoamInfo from pMac, but it
may happen the session id is greater than CSR_ROAM_SESSION_MAX
which results in a out of bound access of memory.

Fix is to have a max check of session ID and then extract
pNeighborRoamInfo from that session.

Change-Id: If3fb98fa278562abe40137ffead8ff4f85b40b1f
CRs-Fixed: 2259229
2018-07-05 12:44:04 -07:00
nshrivas
e92137eb7e Release 5.2.0.87F
Release 5.2.0.87F

Change-Id: I5f0026bd4e69a41aec9891652972c0ded66346d7
CRs-Fixed: 774533
2018-07-05 11:28:35 -07:00
Padma, Santhosh Kumar
4155278ee6 qcacld-3.0: Do not allow suspend during roaming
There is a chance that kernel can trigger suspend while reassoc
in progress. If driver allows this suspend, this can result in
two issues:
1. Authentication timeout in supplicant and leads to connection
   failure if reassoc is triggered using reassoc bssid hint.
2. Roam synch timeout in firmware if roaming is triggered from fw.

Add one more check for roaming in progress to fix this issue.

Change-Id: I84a5d6e70e28f98440affb968c0b0bb90e21ac95
CRs-Fixed: 2269316
2018-07-05 11:28:35 -07:00
Vignesh Viswanathan
769866eac8 qcacld-3.0: Validate device mode before setting LL_STATS
LL_STATS is supported only for STA mode and currently no check
is present to validate the device mode while setting the LL_STATS
from the vendor command.

Allow LL_STATS to be set from the vendor command only for STA mode.

Change-Id: I40e9a6beb20524a84d87105455fe9b28cdc50816
CRs-Fixed: 2266936
2018-07-05 11:28:32 -07:00
nshrivas
7cab500c2d Release 5.2.0.87E
Release 5.2.0.87E

Change-Id: I1096560bf1c85f467eb56f786e9656c3bbcaf56d
CRs-Fixed: 774533
2018-07-05 10:01:03 -07:00
Abhinav Kumar
43ab01b116 qcacld-3.0: Validate sessionId before use in csr_roam_substate_change
csr_roam_set_bss_config_cfg invokes csr_roam_substate_change
with sessionId as one argument to change roam substate. In
csr_roam_substate_change, sessionId is uses as index of array
curSubState of max allowed index CSR_ROAM_SESSION_MAX(5). But
there is no any check present in csr_roam_substate_change to
validate sessionId against maximum allowed concurrent sessions.
This results Out-of-Bound access if sessionId >=
CSR_ROAM_SESSION_MAX.

Add check for sessionId against CSR_ROAM_SESSION_MAX in
csr_roam_substate_change.

Change-Id: Iae7da836001a9ccbec77cdc64df27b259f15bf4e
CRs-Fixed: 2268547
2018-07-05 10:01:02 -07:00
Jeff Johnson
75873e9608 qcacld-3.0: Replace wmi_unified_nat_keepalive_enable()
There are multiple issues with wmi_unified_nat_keepalive_enable():
1) WMA global functions should have a wma_ prefix.
2) The function prototype indicates it should return int status, and
   the one caller, wma_add_sta_req_sta_mode(), is expecting that, but
   it actually returns QDF_STATUS.
3) The function is a very thin wrapper that calls the unified WMI API
   wmi_unified_nat_keepalive_en_cmd() and hence adds no real value.

Rather than address these issues, just remove the function and update
wma_add_sta_req_sta_mode() to directly call the unified WMI API
wmi_unified_nat_keepalive_en_cmd().

Change-Id: I13a4140ba6343240bde51704af2921c001f66a21
CRs-Fixed: 2271552
2018-07-05 10:00:59 -07:00
jiad
f3ecc75fae qcacld-3.0: Ratelimit logs in WLAN IPA exception path
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
2018-07-05 10:00:56 -07:00
nshrivas
8b4c3cc082 Release 5.2.0.87D
Release 5.2.0.87D

Change-Id: I59450ba4d6ca2f66fb1f6d38909005cd6706f641
CRs-Fixed: 774533
2018-07-05 08:23:29 -07:00
Jiachao Wu
6e9ff1a173 qcacld-3.0: De-initialize Netlink data structures
De-initialize Netlink data structures for spectral

Change-Id: I3141a0c25672d27446d822af5a448d2f7e017087
CRs-Fixed: 2268694
2018-07-05 08:23:28 -07:00
nshrivas
28b3701702 Release 5.2.0.87C
Release 5.2.0.87C

Change-Id: I6a0823d619a9e8e0e49bfab49879002cdda34e37
CRs-Fixed: 774533
2018-07-05 06:42:09 -07:00
Abhinav Kumar
7e1276f02d qcacld-3.0: Fix assert due to invalid vdev id in spectral scan req
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
2018-07-05 06:42:09 -07:00
nshrivas
e9fa41f611 Release 5.2.0.87B
Release 5.2.0.87B

Change-Id: I596ae771420410350d5623a857488170deae145b
CRs-Fixed: 774533
2018-07-04 20:41:11 -07:00
Abhinav Kumar
7830d9c023 qcacld-3.0: Fix compilation error if we disable LFR3 featurization
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
2018-07-04 20:41:10 -07:00
gaurank kathpalia
65086f32e4 qcacld-3.0: Fix pointer dereference condition
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
2018-07-04 20:41:07 -07:00
nshrivas
7a8824e49f Release 5.2.0.87A
Release 5.2.0.87A

Change-Id: I3b7fff8dbb0a3963581013928d66870c43f1e52d
CRs-Fixed: 774533
2018-07-04 10:22:07 -07:00
gaurank kathpalia
843f7c333f qcacld-3.0: Fix pointer dereference condition
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
2018-07-04 10:22:06 -07:00
nshrivas
f05e3a0e8f Release 5.2.0.87
Release 5.2.0.87

Change-Id: Idd32f2e42df1545dec06832f9757acbf88ef6b85
CRs-Fixed: 774533
2018-07-04 06:54:46 -07:00
Min Liu
8ea5af63c0 qcacld-3.0: Reset IEs when SAP failed to be started
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
2018-07-04 06:54:45 -07:00
nshrivas
e4ff3b7ecb Release 5.2.0.86Z
Release 5.2.0.86Z

Change-Id: I2bd184c2a9ff5759afe5a4337a90c9d8974e01aa
CRs-Fixed: 774533
2018-07-03 23:35:34 -07:00
Abhinav Kumar
ccd1bed788 qcacld-3.0: Fix OOB write in lim_populate_peer_rate_set
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
2018-07-03 23:35:34 -07:00
Bala Venkatesh
9f958141a1 qcacld-3.0: Move the SAP to non DFS channel after STA disconnection
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
2018-07-03 23:35:31 -07:00
nshrivas
b9c9368411 Release 5.2.0.86Y
Release 5.2.0.86Y

Change-Id: I1861edc9617d79e84c82f0550a8755e99b269e74
CRs-Fixed: 774533
2018-07-03 22:04:46 -07:00
Rachit Kankane
0dc3e850ea qcacld-3.0: Featurize WEXT support
Add feature flag and featurize WEXT support

Change-Id: I14d2640f66e022faaa38ff6c006dca8485234cf1
CRs-Fixed: 2266697
2018-07-03 22:04:46 -07:00
nshrivas
6885e4c334 Release 5.2.0.86X
Release 5.2.0.86X

Change-Id: Iea9cbf3103102db830cc35635f4d106759847b1d
CRs-Fixed: 774533
2018-07-03 19:26:47 -07:00
Jianmin Zhu
c2d91c2313 qcacld-3.0: Fix implicit conversion from enumeration type error
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
2018-07-03 19:26:44 -07:00
nshrivas
8743677392 Release 5.2.0.86W
Release 5.2.0.86W

Change-Id: I144b5fb055c0aa8e47202f4f8e20f63660d0b220
CRs-Fixed: 774533
2018-07-03 16:36:39 -07:00
gaurank kathpalia
6f53cf10d5 qcacld-3.0: Fix pointer dereference condition
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
2018-07-03 16:36:39 -07:00
Jeff Johnson
6aaaa997e4 qcacld-3.0: Rename hHdd to hdd_handle
Rename hHdd to hdd_handle to avoid camelCase.

Change-Id: I338b39e128dbd3c1560695fcbb49c5a4bc470169
CRs-Fixed: 2271551
2018-07-03 16:36:35 -07:00
nshrivas
d91b9e1f96 Release 5.2.0.86V
Release 5.2.0.86V

Change-Id: Ia2146637c323794db8bc79afd547e3b3b3da6859
CRs-Fixed: 774533
2018-07-03 15:16:38 -07:00
gaurank kathpalia
2b6f50708a qcacld-3.0: Fix pointer dereference condition
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
2018-07-03 15:16:37 -07:00
nshrivas
3a8d2d6e1a Release 5.2.0.86U
Release 5.2.0.86U

Change-Id: Ic589fa11f506091d897727908f81a5947ebbf8bd
CRs-Fixed: 774533
2018-07-03 13:42:15 -07:00
Dundi Raviteja
3566823ebe qcacld-3.0: OOB read while processing extscan change results
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
2018-07-03 13:42:14 -07:00
Himanshu Agarwal
cf5b89316f qcacld-3.0: Check for beacon channel in ACS channel list correctly
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
2018-07-03 06:38:18 -07:00
nshrivas
eceda1e04b Release 5.2.0.86T
Release 5.2.0.86T

Change-Id: I3b2aebc1bfd8d5b395b7245b03c34e32124cf5df
CRs-Fixed: 774533
2018-07-03 05:07:11 -07:00
Rachit Kankane
308073384d qcacld-3.0: Allocate DP_TRACE buffer dynamically
Allocate memory for g_qdf_dp_trace_tbl buffer dynamically.

Change-Id: Id9c757fd700929528b8a047248aa942134f60160
CRs-Fixed: 2268787
2018-07-03 05:07:09 -07:00
nshrivas
2353f2df10 Release 5.2.0.86S
Release 5.2.0.86S

Change-Id: Ie27d7637b11d789ab65f861aea0680af04232555
CRs-Fixed: 774533
2018-07-03 02:59:59 -07:00
Nachiket Kukade
54e7be76f3 qcacld-3.0: Add upper limit check on Listen Interval configuration
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
2018-07-03 02:59:59 -07:00
nshrivas
7d2a3e0be9 Release 5.2.0.86R
Release 5.2.0.86R

Change-Id: I31a7a592dce4c1a15cc88fb2b7d5081b63d4da6d
CRs-Fixed: 774533
2018-07-03 00:09:22 -07:00
Sriram Madhvapathi
50f9e400a3 qcacld-3.0: Fix build issue caused by redefinitions
Variable "request" is redefined causing build failures.
Fix by renaming the variables.

Change-Id: I147f98270b135536aa2b499fef2ebd3f41807223
CRs-Fixed: 2271925
2018-07-03 00:09:22 -07:00
nshrivas
6994d12089 Release 5.2.0.86Q
Release 5.2.0.86Q

Change-Id: Ie323e44935ddf3edd0d64d15c01902814e930b5b
CRs-Fixed: 774533
2018-07-02 18:17:48 -07:00
Jeff Johnson
edfaf0bc96 qcacld-3.0: Consolidate PE message handling
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
2018-07-02 18:17:47 -07:00
Jeff Johnson
d9e03511ef qcacld-3.0: Replace eSirRetStatus with QDF_STATUS
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
2018-07-02 18:17:44 -07:00
Jeff Johnson
c9f4462ff3 qcacld-3.0: Fix LIM message posting API definition and usage
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
2018-07-02 18:17:40 -07:00
nshrivas
2754593ec1 Release 5.2.0.86P
Release 5.2.0.86P

Change-Id: I6061beaa0b435553f8ad9eb50ed32da39473e8ff
CRs-Fixed: 774533
2018-07-02 16:08:49 -07:00
psimha
8696f772fe qcacld-3.0: Add CDP API to set key in data path
Add CDP API to set RX MIC key in datapath.
Required to perform RX demic of fragmented packets.

Change-Id: I3c05da62ff20f8551cdc5780ce2f7b8d23c73a37
CRs-Fixed: 2217884
2018-07-02 16:08:48 -07:00
nshrivas
f7ab655435 Release 5.2.0.86O
Release 5.2.0.86O

Change-Id: Ib64f7935daed6824c386472f486251f748f30a79
CRs-Fixed: 774533
2018-07-02 12:23:27 -07:00
Manjunathappa Prakash
5f5ed13024 qcacld-3.0: Post high TPUT event to DPTrace
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
2018-07-02 12:23:26 -07:00