Commit Graph

10106 Commits

Author SHA1 Message Date
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
Manjunathappa Prakash
3a21bea166 qcacld-3.0: Move rx_thread to perf core for udp
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
2018-07-02 12:23:23 -07:00
Manjunathappa Prakash
b6b4ff1809 qcacld-3.0: Add CPU mask INI option for Rx_thread affinity
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
2018-07-02 12:23:20 -07:00
Manjunathappa Prakash
cb6df76414 qcacld-3.0: Add INI option to set NAPI CPU affinity
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
2018-07-02 12:23:16 -07:00
Wu Gao
24c1e1f35b qcacld-3.0: Avoid to over read buffer
Refine sch_get_p2p_ie_offset and avoid to over read buffer.

Change-Id: Ic833c06b220e1e064abde0a2db9c413f7203e54b
CRs-Fixed: 2266611
2018-07-02 12:23:13 -07:00
nshrivas
a5adc6a844 Release 5.2.0.86N
Release 5.2.0.86N

Change-Id: I34d631b50ae4d0283dd9d63305fb3017eae08d00
CRs-Fixed: 774533
2018-07-02 08:45:39 -07:00
Abhinav Kumar
3ff56da2fa qcacld-3.0: Revert "qcacld-3.0:Fix the IOT issue with TxBF CSN value"
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
2018-07-02 08:45:39 -07:00
Bala Venkatesh
b816ce8e7c qcacld-3.0: Add support to allow user select preferred band for SAP
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
2018-07-02 08:45:36 -07:00
Jinwei Chen
ef742dc73c qcacld-3.0: Fix sme_update_tgt_he_cap param and indent
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
2018-07-02 08:45:32 -07:00
nshrivas
8bd1d088ec Release 5.2.0.86M
Release 5.2.0.86M

Change-Id: I93b9fc79928527c6792984bcb32f9c67c6297c3a
CRs-Fixed: 774533
2018-07-02 07:21:28 -07:00
nshrivas
275a24081e Release 5.2.0.86L
Release 5.2.0.86L

Change-Id: Ia4932a1c8d517e2f1f668249ebceae5ec6495c26
CRs-Fixed: 774533
2018-06-30 15:58:49 -07:00
Jeff Johnson
a50c52eed6 qcacld-3.0: Remove tSirRetStatus transition macros
Change "qcacld-3.0: Remap tSirRetStatus to QDF_STATUS" introduced a
set of macros to map tSirRetStatus to QDF_STATUS. All of the
tSirRetStatus identifiers have been renamed, so remove the now unused
macros.

Change-Id: Ie95c9806bdcc52e25e81c8adaecacbdc79207e37
CRs-Fixed: 2270654
2018-06-30 15:58:49 -07:00
Jeff Johnson
0301ecbb4c qcacld-3.0: lim: Replace tSirRetStatus with QDF_STATUS
The tSirRetStatus definitions are obsolete, so replace them with
QDF_STATUS definitions in the mac pe/lim folder.

Note that this change introduces some checkpatch issues, but due to
the number of pre-existing checkpatch issues in lim these are just
noise, and in order to have this change just address the issue at hand
any checkpatch issues will be addressed as part of a separate cleanup
activity.

Change-Id: I677292c208fe08f1bbba8bf294870cbc73cc3b5c
CRs-Fixed: 2270620
2018-06-30 15:58:46 -07:00
nshrivas
40080b4322 Release 5.2.0.86K
Release 5.2.0.86K

Change-Id: I6e303705082a111abf052236e805c5a1c3dc774e
CRs-Fixed: 774533
2018-06-30 12:23:02 -07:00
nshrivas
bb50a29279 Release 5.2.0.86J
Release 5.2.0.86J

Change-Id: If6db49e9392a6770c071fd3b9d5fe3a9c6f37dc5
CRs-Fixed: 774533
2018-06-30 02:10:25 -07:00
Sandeep Puligilla
39b5040dac qcacld-3.0: Cleanup legacy passive scan min channel time
Clenaup legacy passive scan minimum channel time configuration
value and the code references related to the same.

Change-Id: I15d508484dde8f4db775a6fb263646a7af8e5f69
CRs-Fixed: 2262691
2018-06-30 02:10:24 -07:00
Sandeep Puligilla
e0511d7a67 qcacld-3.0: Cleanup legacy active scan min channel time
Clenaup legacy active scan minimum channel time
configuration item and the code references related
to the same.

Change-Id: I5eef7ec09345e199946700c033eaa85fbf69d289
CRs-Fixed: 2262691
2018-06-30 02:10:21 -07:00
nshrivas
eb733d5334 Release 5.2.0.86I
Release 5.2.0.86I

Change-Id: I0fc0318505b97641043913f9dffb7c40e1633e09
CRs-Fixed: 774533
2018-06-30 00:17:54 -07:00
Amar Singhal
ac26de2077 qcacld-3.0: Use the regulatory sync kernel API with no lock
The init thread takes the rtnl lock during initialization.
So use kernel API regulatory_set_wiphy_regd that does not
take the rtnl lock.

Change-Id: I50e7aa96dd8c819d1531b84b181a058197d9b24f
CRs-Fixed: 2265624
2018-06-30 00:17:53 -07:00
Amar Singhal
4228c39d30 qcacld-3.0: Check for wmi_ready before processing wmi messages
If wmi_ready is not set, we can infer that WMI_READY_EVENTID has not
been fully processed yet. Completion of WMI_READY_EVENTID is necessary
for any follow-on messages to be processed properly, since it builds
infrastructure on host. Therefore, serialize the follow-on message with
WMI_READY_EVENT if wmi_ready is not set yet.

CRs-Fixed: 2267180
Change-Id: I2e5df318f8e40a9487502a49539252c9fde9892b
2018-06-30 00:17:50 -07:00
nshrivas
9b4a9fa933 Release 5.2.0.86H
Release 5.2.0.86H

Change-Id: Iee4eefc9e20be832d26f07ac1a40b809628b17b4
CRs-Fixed: 774533
2018-06-29 19:37:17 -07:00
Abhinav Kumar
50d4dc7645 qcacld-3.0: Fix high latency during BTM roaming
While processing the WMA_ROAM_OFFLOAD_SYNCH_IND event, The
driver takes nearly 150 to 200 msec time to just write fatal,
error and info messages to the kmsg log buffer. Also to get
tx power supplicant runs another thread while roaming. These
cause more latency(300ms) to send WMA_ROAM_OFFLOAD_SYNCH_CNF
message to fw. To decrease roam latency, the driver should
write the only necessary error message to kmsg buffer.

The fix is to change irrelevant fatal, error and info message
type to debug add a check in __wlan_hdd_cfg80211_get_txpower
to reject the request to get Tx power while roaming in progress
otherwise driver will process this and will increase the roaming
latency.

Change-Id: I6c31637f21991b5b29c1e2dd2c2935ae7d4fc3d0
CRs-Fixed: 2251824
2018-06-29 19:37:17 -07:00
Dustin Brown
cfc54fe81b qcacld-3.0: Scale HDD inactivity timeout by multiplier
Emulation builds can be very slow, leading to watchdog timeout issues.
One specific issue involves the HDD inactivity watchdog timer. Scale the
HDD inactivity timer by the qdf timer multiplier to avoid false
positives on emulation setups.

Change-Id: Idc7f3d25f836ff5406d4fb5758e975ab5d83f596
CRs-Fixed: 2269834
2018-06-29 19:37:14 -07:00
nshrivas
54bd784a48 Release 5.2.0.86G
Release 5.2.0.86G

Change-Id: I179f3e23c10be5c5e8d82d6431ae44b353b2b9eb
CRs-Fixed: 774533
2018-06-29 17:27:36 -07:00
Tushnim Bhattacharyya
d2e085d002 qcacld-3.0: Don't move SAP if SCC on lte coex channel is allowed
If STA+SAP is doing SCC & g_sta_sap_scc_on_lte_coex_chan is set,
don't move SAP to a different channel when LTE channel avoidance
event comes.

Change-Id: I3dfdbb6d59769a8ff9b3b2e6d828feee94630569
CRs-Fixed: 2261795
2018-06-29 17:27:35 -07:00
Will Huang
ea70106cda qcacld-3.0: Fix HDD reassociate fail case for LFR2.0
If station connect with infrastructure network, might connect to AP
different with the hint bssid, if reassociate command issued, it will
invoke hdd_reassoc(). It might bring down connected station without
bring down vdev of the LFR2.0 path if the process of scanning for ssid
failed.

Add back logic of checking uOsRequestedHandoff and route to correct
LFR2.0 roaming path.

Change-Id: I406b55270dc70e5d3494250d6013f7d35824970f
CRs-Fixed: 2256194
2018-06-29 17:27:32 -07:00
nshrivas
587b37ea7f Release 5.2.0.86F
Release 5.2.0.86F

Change-Id: I2ce73f717f6cb765a36bebd06ff0756167100fcc
CRs-Fixed: 774533
2018-06-29 13:31:43 -07:00
Mohit Khanna
571a550f17 qcacld-3.0: use netif_receive_skb for UDP packets
Using netif_rx_ni for UDP packets has a lot of overhead because of the
softirq(NET_RX) used to process the backlog queue. Hence use
netif_receive_skb for UDP packets.

Change-Id: I02e4de17e55ce448a87b55075465003b03fcd5f5
CRs-Fixed: 2185186
2018-06-29 13:31:42 -07:00
Kabilan Kannan
caa8550b4c qcacld-3.0: Add SAR V2 support
Add changes to support SAR V2 power limits.

Change-Id: I35f8a194ac9c53c8fd564bd301398b78fa995bed
CRs-Fixed: 2217067
2018-06-29 13:31:37 -07:00
nshrivas
a0e8242bc6 Release 5.2.0.86E
Release 5.2.0.86E

Change-Id: I44a28d4e16439e775a3f51f1a601e5232aee55e8
CRs-Fixed: 774533
2018-06-29 10:44:19 -07:00
Jeff Johnson
f1a99eae5a qcacld-3.0: Transition HDD to OSIF Request Manager
The HDD Request Manager was replicated in the converged project as the
OSIF Request Manager so that the infrastructure could be used by the
converged code. Transition HDD to the OSIF Request Manager and remove
the now duplicated HDD Request Manager.

Change-Id: I2dfdd2da4f98e95a74ba13d04bb42d25a90c9ec8
CRs-Fixed: 2269909
2018-06-29 10:44:18 -07:00
Jeff Johnson
ceb4e9b46e qcacld-3.0: pe: rrm: Replace tSirRetStatus with QDF_STATUS
The tSirRetStatus definitions are obsolete, so replace them with
QDF_STATUS definitions in the mac pe/rrm folder.

Change-Id: Iba8b15a3f17ee4bd827d384cf775ac0679590208
CRs-Fixed: 2269739
2018-06-29 10:44:15 -07:00
Jeff Johnson
65250f2456 qcacld-3.0: pe: sch: Replace tSirRetStatus with QDF_STATUS
The tSirRetStatus definitions are obsolete, so replace them with
QDF_STATUS definitions in the mac pe/sch folder.

Change-Id: I7301c209adccdb63b1f1ac063d4590b5019f2e40
CRs-Fixed: 2269738
2018-06-29 10:44:11 -07:00
nshrivas
cb88d0abbc Release 5.2.0.86D
Release 5.2.0.86D

Change-Id: I706e5fe367952ec44daf0ff48d2abe74801ff2f4
CRs-Fixed: 774533
2018-06-29 09:25:31 -07:00
Jeff Johnson
97dad0855d qcacld-3.0: Change the underlying type of mac_handle_t
Currently mac_handle_t is defined as a void pointer. This is
convenient from an information hiding point of view since that means a
non-MAC component cannot dereference a MAC handle to access MAC
private data. However this is not convenient from a defect prevention
point of view since the C standard allows any other pointer type to be
freely and silently converted to and from a void pointer, and hence
the compiler is unable to detect when a MAC handle is used in a
context where a different pointer type is expected.

An example of multiple such defects was addressed by Change-Id
I01812b2390269805da4d1a5cb40a811d1e22ec56 (qcacld-3.0: Fix bad
pointers being passed from SME to WMA).

To help prevent these kinds of defects change the definition of
mac_handle_t to be a pointer to an opaque struct.

Change-Id: I72483bf0e693d6eca24355f31d3a1653b8f31302
CRs-Fixed: 2268814
2018-06-29 09:25:31 -07:00
Jeff Johnson
1021f89889 qcacld-3.0: Fix sme_qos_is_ts_info_ack_policy_valid() param
Currently sme_qos_is_ts_info_ack_policy_valid() takes a tpAniSirGlobal
mac context param. However this is a global function that is called by
HDD, so it should be taking an opaque handle. Update the function and
all callers to use the appropriate type.

Change-Id: I71759ce184306a90f46e37d79d6bdd7a545c1bc2
CRs-Fixed: 2269181
2018-06-29 09:25:28 -07:00
Jeff Johnson
9d7c99eccf qcacld-3.0: Fix sme_process_ready_to_ext_wow() context param
Currently sme_process_ready_to_ext_wow() takes a tHalHandle context
param.  However this is a static internal function, and hence it
should be using the "real" context pointer type tpAniSirGlobal instead
of the opaque reference tHalHandle, so update the API to expect
tpAniSirGlobal (which is what is already being passed by
sme_process_msg()).

Change-Id: I06a2c00334867902e185726d1c7b3ba8c8cb08f5
CRs-Fixed: 2269965
2018-06-29 09:25:24 -07:00
nshrivas
143e9f0578 Release 5.2.0.86C
Release 5.2.0.86C

Change-Id: I45f9d28f9914469fb6df2fb4d0f00b51b4be83c9
CRs-Fixed: 774533
2018-06-29 07:12:35 -07:00
Frank Liu
0e7ac56180 qcacld-3.0: Update soc info by structure member
Update pld soc info by structure member to decouple between pld soc info
with platform soc info.

Change-Id: I0e62d4784d7bccfb2f08d3678e1c78e6baaa9ca9
CRs-Fixed: 2268191
2018-06-29 07:12:34 -07:00
nshrivas
7e3cfd4e94 Release 5.2.0.86B
Release 5.2.0.86B

Change-Id: I784a1f03baea3724d355723081380b75c430a1ca
CRs-Fixed: 774533
2018-06-29 03:29:40 -07:00
Padma, Santhosh Kumar
dbef1c57f4 qcacld-3.0: Fix use after free of pCurRoamProfile
Currently there is a chance that driver can access pCurRoamProfile
even after freeing it. While driver frees pCurRoamProfile as part of
csr_roam_process_command in mc thread context/user space context(if
there is no active command in sme queue), it can access the same
variable as part of __wlan_hdd_cfg80211_set_ext_roam_params in user
space context and can result in use after free.

Acquire lock before freeing roam profile to fix this issue.

Change-Id: I16863f35405fa41424060bb2d12c779681095a85
CRs-Fixed: 2265905
2018-06-29 03:29:39 -07:00
nshrivas
06e5f7a963 Release 5.2.0.86A
Release 5.2.0.86A

Change-Id: I7aae6cc84cb9413066972dc035cb5e6da5d64b16
CRs-Fixed: 774533
2018-06-28 22:28:11 -07:00