Commit Graph

12542 Commits

Author SHA1 Message Date
Jeff Johnson
0aaecf6b60 qcacld-3.0: Replace tHalHandle in sme_power_save
I9d0d7d109621237f29d66f7b06c5b63c38f63fb2 (qcacld-3.0: Introduce
mac_handle_t) introduced a "better" name for tHalHandle, so replace
tHalHandle with mac_handle_t in sme_power_save.

Change-Id: I7030567c6f73abba10a3e0f29def78249fe91b5a
CRs-Fixed: 2348506
2018-11-13 14:24:51 -08:00
Jeff Johnson
59429b0b5c qcacld-3.0: Replace tHalHandle references in LIM
The LIM code should deal exclusively with the "real" MAC context, so
replace references to the opaque handle tHalHandle with references to
the actual underlying struct.

Change-Id: I2801f6531d810710d6ec0fdbd517d30f85407c25
CRs-Fixed: 2347928
2018-11-13 14:24:50 -08:00
nshrivas
023a0f4463 Release 5.2.0.106C
Release 5.2.0.106C

Change-Id: I444090915d106d9291e7e645e36b34b1d196412e
CRs-Fixed: 774533
2018-11-13 13:54:55 -08:00
Jeff Johnson
7c4335001d qcacld-3.0: Refactor WE_SET_AMPDU ioctl processing
One of the HDD functions with the highest cyclomatic complexity is
__iw_setint_getnone(). In order to reduce the complexity there is a
plan to replace the existing switch with a vtable. As part of that
goal refactor the WE_SET_AMPDU ioctl handling into a separate
function.

Change-Id: I76c11e2a099c2f9734a0e9b0208b339406b4a22c
CRs-Fixed: 2348656
2018-11-13 13:54:55 -08:00
Jeff Johnson
22e57f1269 qcacld-3.0: Refactor "set dbg" ioctl processing
One of the HDD functions with the highest cyclomatic complexity is
__iw_setint_getnone(). In order to reduce the complexity there is a
plan to replace the existing switch with a vtable. As part of that
goal refactor the "set dbg" ioctl handling into separate functions.
Note that the existing logic that updates the fw_log_settings in the
HDD context is obsolete, so remove that logic as part of the
refactoring.

Change-Id: Ibf632d1ef37905ca8159ea997dc07e4f2f7d12cc
CRs-Fixed: 2348502
2018-11-13 13:54:50 -08:00
nshrivas
84b5f6b1f7 Release 5.2.0.106B
Release 5.2.0.106B

Change-Id: I334ce5ae48680ca6568e1e18cdd224fbcb78e9d0
CRs-Fixed: 774533
2018-11-13 12:04:39 -08:00
Jeff Johnson
2e38127bd8 qcacld-3.0: Refactor "set vdev" ioctl processing
One of the HDD functions with the highest cyclomatic complexity is
__iw_setint_getnone(). In order to reduce the complexity there is a
plan to replace the existing switch with a vtable. As part of that
goal refactor the "set vdev" ioctl handling into separate functions.

Change-Id: I73cc9fd5400fadb5812687d13741b7c430a0045c
CRs-Fixed: 2347909
2018-11-13 12:04:39 -08:00
Dundi Raviteja
5296f49644 qcacld-3.0: Possible OOB access in wlan_hdd_cfg80211_start_bss()
In wlan_hdd_cfg80211_start_bss(), beacon head buffer is typecast
to ieee80211_mgmt structure without checking for buffer length
against beacon header length which may cause OOB access
while accessing iee80211_mgmt structure.

To address this, add check for beacon head length against beacon
header length before typecasting to iee80211_mgmt structure.

Also while accessing supported rates, length given to function
wlan_hdd_cfg80211_get_ie_ptr() is the total length of management
frame that also includes header length which may cause OOB access
while getting supported rates.

To address this, send only beacon data length and exclude header
length to function wlan_hdd_cfg80211_get_ie_ptr().

Change-Id: I442b236e48c3be8cbd8019c5c339593f9aa74e3e
CRs-Fixed: 2335957
2018-11-13 12:04:34 -08:00
nshrivas
73d76b975c Release 5.2.0.106A
Release 5.2.0.106A

Change-Id: I631919e131192d12188463f3f778211b9ecfd4d5
CRs-Fixed: 774533
2018-11-13 09:55:43 -08:00
Pragaspathi Thilagaraj
46e10b36ef qcacld-3.0: Fix error handling path of wma_remove_peer
If the wma_remove_peer fails, the caller can still proceed to
start vdev hold request timer for WMA_DELETE_STA_REQ. The Host
driver doesnot stop the timer and this results in page fault
when the timer is expired.

Check the return status of wma_remove_peer and send failure
to the caller of  wma_remove_peer.

Change-Id: I63d0dfefb183cf1a88b1f7abb2686b2dfdc6bd79
CRs-Fixed: 2348248
2018-11-13 09:55:43 -08:00
nshrivas
266e5e0b2e Release 5.2.0.106
Release 5.2.0.106

Change-Id: Iff34a4b4e6502d7ea61cd6ac0f40157a663d79a3
CRs-Fixed: 774533
2018-11-13 08:28:09 -08:00
wadesong
cc2e216a57 qcacld-3.0: Fix some discrepancies in CFG INI comments
Discrepancies between some of the CFG INI names and their comment
text were discovered during reviewing.

Fix them by making all comment text aligning with the real CFG
INI names.

Change-Id: I1bf5417ea79727da451d0d6ca1a5cd100523e49a
CRs-Fixed: 2348140
2018-11-13 08:28:08 -08:00
Dustin Brown
f967e48d1d qcacld-3.0: Integrate DSC (psoc ssr)
The Driver Synchronization Core (DSC) is a set of synchronization
primitives for use by the driver's orchestration layer. It provides APIs
for ensuring safe state transitions (including bring up and tear down)
of major driver objects: a single driver, associated psocs, and their
associated vdevs.

As part of integrating the DSC APIs into HDD, protect psoc sub-system
recovery (SSR).

Change-Id: I0374cdb22259763b0f61a4bea89fdb4ffc2c215c
CRs-Fixed: 2348567
2018-11-13 08:28:04 -08:00
Dustin Brown
3ecc87863e qcacld-3.0: Integrate DSC (psoc idle shutdown/restart)
The Driver Synchronization Core (DSC) is a set of synchronization
primitives for use by the driver's orchestration layer. It provides APIs
for ensuring safe state transitions (including bring up and tear down)
of major driver objects: a single driver, associated psocs, and their
associated vdevs.

As part of integrating the DSC APIs into HDD, protect psoc idle shutdown
and restart.

Change-Id: I416a8f4cfb67fabce377ff96715e3a372a3aed7d
CRs-Fixed: 2347019
2018-11-13 08:28:00 -08:00
nshrivas
73cf0763b3 Release 5.2.0.105Z
Release 5.2.0.105Z

Change-Id: I7ba067be2e1f588f89ecda97a05557a9c0168215
CRs-Fixed: 774533
2018-11-13 06:56:05 -08:00
Pragaspathi Thilagaraj
5772627cad qcacld-3.0: Send auth failure only if get default wep key fails
The function lim_process_auth_frame_type2 gets the wep default
key from mlme_get_wep_key(). Auth failure should be sent only
if mlme_get_wep_key fails. But currently, for success case also
the auth failure is sent and wep shared key auth fails.

Check the return status of mlme_get_wep_key and don't send auth
failure during success case.

Change-Id: I70c2bba7cd01385cec0c5d7df4437e1e4ec7548e
CRs-Fixed: 2348208
2018-11-13 06:56:05 -08:00
Nachiket Kukade
7dac923e1e qcacld-3.0: Return appropriate status code in sme_nan_request
After the NAN request message is posted to the SME queue in
sme_nan_request, the status of the scheduler API is ignored.
Success will be returned in the case of a failure during
posting the message. This may generate unexpected outcomes
during NAN testcases.

Return appropriate status code in sme_nan_request to the caller.

Change-Id: I31f518e7b90315c0f7c30ec2f5aeebec19d64813
CRs-Fixed: 2335734
2018-11-13 06:56:01 -08:00
nshrivas
150cb0ca56 Release 5.2.0.105Y
Release 5.2.0.105Y

Change-Id: I9f5ce36337fd00f038f59b0794ce7b1a449602ae
CRs-Fixed: 774533
2018-11-13 04:20:49 -08:00
Jingxiang Ge
7cdb955b0f qcacld-3.0: Fix tx queue is paused forever
Put flow control setting in the flow_pool_lock, which can avoid
race condition between ol_tx_desc_free and ol_tx_desc_alloc.
This is a refine based on Ib60139fd94a4fb88c92a7f8aaf886ae9d3ca4c75.

Change-Id: I8d89323b5631039d7ff5a141775cc5825389c18b
CRs-Fixed: 2297190
2018-11-13 04:20:48 -08:00
Dustin Brown
623e7e358d qcacld-3.0: Integrate DSC (psoc probe/remove)
The Driver Synchronization Core (DSC) is a set of synchronization
primitives for use by the driver's orchestration layer. It provides APIs
for ensuring safe state transitions (including bring up and tear down)
of major driver objects: a single driver, associated psocs, and their
associated vdevs.

As part of integrating the DSC APIs into HDD, protect psoc probe and
remove.

Change-Id: I5db13fb321695f535b5765c637ee638396e5ca6f
CRs-Fixed: 2347016
2018-11-13 04:20:44 -08:00
nshrivas
e665cc8412 Release 5.2.0.105X
Release 5.2.0.105X

Change-Id: I95e55933e60b7962b4b4f7e807d7eb1a6d92b111
CRs-Fixed: 774533
2018-11-13 02:43:45 -08:00
Abhishek Singh
11ff22150c qcacld-3.0: Cleanup the unused quiet timers and TX control API
Quiet timers and TX control API are no longer used and are dummy API
which is dropped in WMA layer. Thus remove this unused code.

Change-Id: I77617df14093806f19c0d587e953f63ae86f8ffe
CRs-Fixed: 2348271
2018-11-13 02:43:45 -08:00
Jeff Johnson
610151f500 qcacld-3.0: Use mac_handle_t in sap_validate_chan()
Change "qcacld-3.0: Introduce mac_handle_t" introduced a modern
name for what was previously called the tHalHandle. Transition
sap_validate_chan() to use the new naming.

Change-Id: I5495d00a0fa2d1bef8d491788559fc9493797dd6
CRs-Fixed: 2347657
2018-11-13 02:43:41 -08:00
Jeff Johnson
74df585cec qcacld-3.0: Use mac_handle_t in csr_packetdump_timer_stop()
Change "qcacld-3.0: Introduce mac_handle_t" introduced a modern
name for what was previously called the tHalHandle. Transition
csr_packetdump_timer_stop() to use the new naming.

Change-Id: I420949b9d4a88c9aaec7ee768914583f17fefadb
CRs-Fixed: 2347656
2018-11-13 02:43:37 -08:00
nshrivas
8c282e4087 Release 5.2.0.105W
Release 5.2.0.105W

Change-Id: If7193691b4cfbcd222fa7e7ff7ee075ca2af699f
CRs-Fixed: 774533
2018-11-13 01:11:31 -08:00
Jeff Johnson
20967c9708 qcacld-3.0: Remove unused enum essid_bcast_type
enum essid_bcast_type is unused. so remove it.

Change-Id: I9d4307bfb7f502576abb0434030888f5ca27243f
CRs-Fixed: 2348051
2018-11-13 01:11:31 -08:00
Jeff Johnson
034f3c92a8 qcacld-3.0: Replace tpAniSirGlobal in HDD
Typedef tpAniSirGlobal is obsolete, so replace it with the underlying
struct pointer or handle conversion function as appropriate.

Change-Id: I4dd5d91f54bfb57d6322a5e3c91795b80393da8a
CRs-Fixed: 2347908
2018-11-13 01:11:27 -08:00
Jeff Johnson
5d0e8cd6cd qcacld-3.0: Refactor "set pdev" ioctl processing
One of the HDD functions with the highest cyclomatic complexity is
__iw_setint_getnone(). In order to reduce the complexity there is a
plan to replace the existing switch with a vtable. As part of that
goal refactor the "set pdev" ioctl handling into separate functions.

Change-Id: I4f382b7681710ce50cb5b2ffe65e4ad03d73a670
CRs-Fixed: 2346189
2018-11-13 01:11:24 -08:00
nshrivas
797b563317 Release 5.2.0.105V
Release 5.2.0.105V

Change-Id: Ia4934f0aebd77ce36f1e5e968d99f186d30d0125
CRs-Fixed: 774533
2018-11-12 18:28:04 -08:00
jiad
a244137e66 qcacld-3.0: Fix WDI 1.0 MCC TX SMMU fault
SMMU fault is observed for WDI 1.0 MCC TX when SMMU is enabled.
Issue is that dma_addr passed from IPA driver is iova of IPA
domain. WLAN driver directly uses the iova to do transmission.
Since iova is not mapped in WLAN domain, SMMU fault occurs.

Fix is to map skb to WLAN domain for TX when SMMU is enabled.

Change-Id: I4c029a1e4dfff149e2784f5b95fe1f3cf3e3719e
CRs-Fixed: 2318537
2018-11-12 18:28:03 -08:00
nshrivas
0e52fcfe57 Release 5.2.0.105U
Release 5.2.0.105U

Change-Id: Ib13f2a2a4e38a7e05df8583708cbd0c28591d471
CRs-Fixed: 774533
2018-11-12 16:28:21 -08:00
Jeff Johnson
54596d1df6 qcacld-3.0: Remove unused csr_check_ps_*() functions
The following functions are unused, so remove them:
- csr_check_ps_ready()
- csr_check_ps_offload_ready()

Change-Id: I72ea0c687080f6dff7c4de6b13b9bf0e86484fd7
CRs-Fixed: 2347130
2018-11-12 16:28:20 -08:00
nshrivas
4ca3983c58 Release 5.2.0.105T
Release 5.2.0.105T

Change-Id: Iabd4dac945c1f787b0266cb95e90906141902e52
CRs-Fixed: 774533
2018-11-11 09:27:20 -08:00
Venkata Sharath Chandra Manchala
cd660986d1 qcacld-3.0: Enable Rate events in pktlog
Support Rate control and rate control update events
for pktlog by enabling the events in
WMI_PDEV_PKTLOG_ENABLE_CMDID message.

Change-Id: I9281fcd7c632ba19a84a6eb2c0dff49a172fd70d
CRs-Fixed: 2340635
2018-11-11 09:27:20 -08:00
nshrivas
a52dfe80c0 Release 5.2.0.105S
Release 5.2.0.105S

Change-Id: I08e9d6745d4be2f8b0a02ee682addeac54129e28
CRs-Fixed: 774533
2018-11-10 04:02:05 -08:00
Rakshith Suresh Patkar
384a28ae48 qcacld-3.0: Add timestamp debug info in ol_tx_desc_t
Add descriptor timestamp debug info in ol_tx_desc_t and
add APIs to set these values.

Change-Id: I686fccff4268811474630dbea8369fabe82d1517
CRs-Fixed: 2333654
2018-11-10 04:02:04 -08:00
nshrivas
2a2037028e Release 5.2.0.105R
Release 5.2.0.105R

Change-Id: I545c8880b5c4cc2e6d82de1b5e4db4bb361f328a
CRs-Fixed: 774533
2018-11-09 19:43:22 -08:00
Jeff Johnson
bfd2463a00 qcacld-3.0: Fix csr_get_current_band() context param
Currently csr_get_current_band() takes a tHalHandle context param.
However csr is internal to the UMAC, and hence it should be using the
"real" context pointer type instead of the opaque handle, so update
the API to expect a struct mac_context pointer..

This is part of an ongoing campaign to remove or replace all instances
of tHalHandle.

Change-Id: I93a3950b9ee26284ddfdf167b900d2f6983625f7
CRs-Fixed: 2347655
2018-11-09 19:43:22 -08:00
nshrivas
725ba40451 Release 5.2.0.105Q
Release 5.2.0.105Q

Change-Id: I1cca15061bde42951e14c9f2db28d4fddcfb0db0
CRs-Fixed: 774533
2018-11-09 18:21:58 -08:00
Jeff Johnson
6fea9da115 qcacld-3.0: Remove unused wlan_hdd_set_pre_cac_status() param
Change "qcacld-3.0: Remove wlan_sap_set_pre_cac_status() handle param"
(Change-Id I1c280be8c7c65a28267a9ab38d76fb8aa94e48af) removed an
unused handle param. As a result the handle param is now unused by
wlan_hdd_set_pre_cac_status(), so remove it from there as well.

Change-Id: Ida61a996b9203928af3a5636c219ab61c68d7d19
CRs-Fixed: 2347654
2018-11-09 18:21:57 -08:00
Jeff Johnson
6ccbec1f48 qcacld-3.0: Remove wlan_sap_set_pre_cac_status() handle param
Function wlan_sap_set_pre_cac_status() currently takes as one
parameter a tHalHandle handle.  This handle is converted into a MAC
context pointer. That MAC context pointer is then tested for NULL but
is otherwise unused.  Since the MAC context, and hence the handle, are
unnecessary, remove them.

This is part of an ongoing campaign to remove or replace all instances
of tHalHandle.

Change-Id: I1c280be8c7c65a28267a9ab38d76fb8aa94e48af
CRs-Fixed: 2347653
2018-11-09 18:21:53 -08:00
Jeff Johnson
2febb64e8f qcacld-3.0: Fix csr_init_operating_classes() context param
Currently csr_init_operating_classes() takes a tHalHandle context
param.  However this is a static internal function, and hence it
should be using the "real" context pointer type instead of the opaque
reference, so update the API to expect a struct mac_context pointer.

This is part of an ongoing campaign to remove or replace all instances
of tHalHandle.

Change-Id: Ib299d109489709b78a8d138987acf2379a341797
CRs-Fixed: 2347652
2018-11-09 18:21:49 -08:00
nshrivas
af8d7aa2f0 Release 5.2.0.105P
Release 5.2.0.105P

Change-Id: I49c61fe4c4480a439e2a33ec687b49287c22de7d
CRs-Fixed: 774533
2018-11-09 16:59:07 -08:00
Bala Venkatesh
fc0dfb7865 qcacld-3.0: Stop peer assoc confirm timer in case of peer assoc failure
As part of tdls peer assoc request, WMI_SERVICE_PEER_ASSOC_CONF is
checked and a timer of 6 sec is started. But, in case of any failure
for peer assoc in host, This is not stopped and waited for timer to
expire and sends the response with failure status.

Stop the peer assoc confirm timer and send the add sta response with
failure status in case of any failure in host.

Change-Id: If6ba6aa1297afaea1fd86bf406dcbb6e4e461d25
CRs-Fixed: 2345086
2018-11-09 16:59:06 -08:00
Dustin Brown
92bd838132 qcacld-3.0: Split psoc and vdev phases during probe
hdd_wlan_startup() does psoc create, psoc start, and vdev create phases.
Split the vdev create phase from the two psoc phases.

Change-Id: I9e2be1e257f80c19f55ec25f809858c7e107f640
CRs-Fixed: 2343033
2018-11-09 16:59:02 -08:00
Dustin Brown
67d3041bcc qcacld-3.0: Integrate DSC (driver mode change)
The Driver Synchronization Core (DSC) is a set of synchronization
primitives for use by the driver's orchestration layer. It provides APIs
for ensuring safe state transitions (including bring up and tear down)
of major driver objects: a single driver, associated psocs, and their
associated vdevs.

As part of integrating the DSC APIs into HDD, protect driver mode
change.

Change-Id: I28ae8a61f9ffa7e129cf81ade539df8adc72d853
CRs-Fixed: 2347024
2018-11-09 16:58:59 -08:00
Dustin Brown
21a1d46d35 qcacld-3.0: Integrate DSC (driver insmod/rmmod)
The Driver Synchronization Core (DSC) is a set of synchronization
primitives for use by the driver's orchestration layer. It provides APIs
for ensuring safe state transitions (including bring up and tear down)
of major driver objects: a single driver, associated psocs, and their
associated vdevs.

As part of integrating the DSC APIs into HDD, protect driver load
(insmod) and unload (rmmod).

Change-Id: I37fba3ec4c4c59dedace0ce0f0421d2a442ab290
CRs-Fixed: 2346211
2018-11-09 16:58:55 -08:00
nshrivas
356909b4fb Release 5.2.0.105O
Release 5.2.0.105O

Change-Id: Iccecc3250c68bbc02f8a1e48d1a1ed46921d6a3c
CRs-Fixed: 774533
2018-11-09 15:25:02 -08:00
Jeff Johnson
d75a616eea qcacld-3.0: Remove CDS_GET_HAL_CB
Change "qcacld-3.0: Introduce sap_get_mac_context()" introduced a new
API for retrieving the MAC context. Since all instances of using
CDS_GET_HAL_CB have been converted, remove the macro.

Change-Id: Ib0ed67cf6af779d2805c3f7bb0cf3667c5d844f9
CRs-Fixed: 2346185
2018-11-09 15:24:57 -08:00
Kiran Kumar Lokere
efdbd0b267 qcacld-3.0: Add support to configure HE SU PPDU Tx
Add support to configure HE single user PPDU transmission.

Change-Id: I6bb2ead049f64c2ff2d28039f1658d66c4878f5f
CRs-Fixed: 2345247
2018-11-09 15:24:53 -08:00