Commit Graph

10847 Commits

Author SHA1 Message Date
Srinivas Girigowda
683726a56b qcacld-3.0: HDD: Fix checkpatch code indent issues
Fix checkpatch code indent issues.

CRs-Fixed: 2311614
Change-Id: Iee0010a4a78f7da094a7459fd60a952277edec4b
2018-09-07 23:23:24 -07:00
nshrivas
3fd7e09281 Release 5.2.0.95Y
Release 5.2.0.95Y

Change-Id: I4d4533a6898054837f0fc3d1e196c0a0e9e165a4
CRs-Fixed: 774533
2018-09-07 19:02:24 -07:00
Dustin Brown
07901ecb55 qcacld-3.0: Rename hdd_pdev to pdev
The name 'hdd_pdev' is misleading, since it is not actually an HDD pdev
context. Rather, it is the Object Manager pdev context. Rename hdd_pdev
to pdev for consistency, and to make room for HDD to have its own pdev
context.

Change-Id: Ie27e4b21d83865474bd464ba2c3948a0684de29b
CRs-Fixed: 2311497
2018-09-07 19:02:23 -07:00
nshrivas
333af62ff4 Release 5.2.0.95X
Release 5.2.0.95X

Change-Id: Ib10ebc2e6dec3720429b8929e4be808a4918256c
CRs-Fixed: 774533
2018-09-07 17:22:46 -07:00
Dustin Brown
89fa06ec3a qcacld-3.0: Rename hdd_vdev to vdev
The name 'hdd_vdev' is misleading, since it is not actually an HDD vdev
context. Rather, it is the Object Manager vdev context. Rename hdd_vdev
to vdev for consistency, and to make room for HDD to have its own vdev
context.

Change-Id: I6186d010404c0a7b1e25590d87e5350195faba80
CRs-Fixed: 2311435
2018-09-07 17:22:45 -07:00
nshrivas
6001532924 Release 5.2.0.95W
Release 5.2.0.95W

Change-Id: I76fd3e3a2206d81671eb9c2a8a5237214735d06f
CRs-Fixed: 774533
2018-09-07 13:57:26 -07:00
Dustin Brown
6470aba31f qcacld-3.0: Cancel iface_idle_work in HDD exit
The interface idle timeout work is started at the very end of the SoC
probe process. During rmmod, this timer is proactively canceled, but a
race between probe and rmmod means this cancel is not deterministic. The
mirror operation to probe is remove, so cancel this work at the
beginning of the remove process. This preserves symmetry between probe
and remove, and also deterministically cancels the work, since probe and
remove are properly synchronized.

Change-Id: Idfd68c0ed638dbe810db72d64f301018db45d522
CRs-Fixed: 2309533
2018-09-07 13:57:25 -07:00
nshrivas
86cba282c6 Release 5.2.0.95V
Release 5.2.0.95V

Change-Id: I46b4fb870b7e06181981629519dfaf17981444bd
CRs-Fixed: 774533
2018-09-07 09:25:27 -07:00
Qiwei Cai
1c52ef67ba qcacld-3.0: Optimize struct reg_table_entry definition
Optimize struct reg_table_entry definition by means of
alignment and data type declarations to save memory.

Change-Id: Ib97541b0868416d1d797d8326e265e9789a040da
CRs-Fixed: 2301744
2018-09-07 09:25:26 -07:00
Will Huang
26a0a83c53 qcacld-3.0: Remove cds_is_target_ready() to prevent race condition
Currently if target is not ready, vdev stop req use check
cds_is_target_ready() in wma_fill_vdev_req(), while peer related API
uses wmi_handle->wmi_stopinprogress.

As wmi_handle->wmi_stopinprogress is set after target ready flag, the
vdev stop req is dropped while peer delete is sent to firmware. This
leads to bss peer delete sent without vdev stop.

Remove cds_is_target_ready() in wma_fill_hold_req() and
wma_fill_vdev_req() so that only wmi_handle->wmi_stopinprogress is used
to detect firmware down.

Change-Id: I5a7fb886f8bbf9a10d25c6991a291bc4bd2bef48
CRs-Fixed: 2309680
2018-09-07 09:25:23 -07:00
nshrivas
71693e2802 Release 5.2.0.95U
Release 5.2.0.95U

Change-Id: Ief458dc762f2c35f059e220ecd24a47af2d7f36e
CRs-Fixed: 774533
2018-09-07 04:43:54 -07:00
Rajeev Kumar Sirasanagandla
4f20b67e7a qcacld-3.0: Add debugfs support for roam scan stats
Add debugfs entry to get last five roam scan stats info which includes
old bssid, new bssid, roaming candidates etc., for STA interface.

Change-Id: Ied66beb270d97b6e17a6116c1be0e82783094519
CRs-Fixed: 2203885
2018-09-07 04:43:53 -07:00
nshrivas
1a74df2b54 Release 5.2.0.95T
Release 5.2.0.95T

Change-Id: Ic9dc5531528abfad3a38f2e5da853bbcd8e89e1c
CRs-Fixed: 774533
2018-09-07 03:04:02 -07:00
Ashish Kumar Dhanotiya
12f682166b qcacld-3.0: Add ini to enable/disable Mtrace logging
Add ini to configure Mtrace log level for all the Modules.

Change-Id: I7b2a2d7c4ebeb9731365bd3a33c340ca74717944
CRs-Fixed: 2310401
2018-09-07 03:04:01 -07:00
Dundi Raviteja
1b469fdd1a qcacld-3.0: Remove iwpriv support for set ppdu duration
Remove iwpriv support for set_ppdu_duration.

Change-Id: Id80dc1938875ae55bd8ed6bf9a0b6841644aba6f
CRs-Fixed: 2301988
2018-09-07 03:03:58 -07:00
nshrivas
54ab88f7ad Release 5.2.0.95S
Release 5.2.0.95S

Change-Id: I9a0214d906bc6998f42bda1abe3c95953ade554b
CRs-Fixed: 774533
2018-09-07 01:29:17 -07:00
Pragaspathi Thilagaraj
f4cc58b320 qcacld-3.0: Add MLME CFG items of sap/sta erp protection
Add the following SAP/STA protection ini and cfg parameters to MLME cfg:
CFG_PROTECTION_ENABLED       - CFG
CFG_FORCE_POLICY_PROTECTION  - CFG
CFG_IGNORE_PEER_HT_MODE_NAME - INI

Change-Id: I3763d62c6aa4ae79a5a31dfac248e8367b6369ad
CRs-Fixed: 2310378
2018-09-07 01:29:17 -07:00
nshrivas
7b8b76c56b Release 5.2.0.95R
Release 5.2.0.95R

Change-Id: Ibc7b0c8406a1c095670b0e0542be09e6a624474d
CRs-Fixed: 774533
2018-09-06 23:55:04 -07:00
Srinivas Girigowda
7e66bb4189 qcacld-3.0: Remove obsolete struct sSirSmeNeighborBssInd
Remove obsolete struct sSirSmeNeighborBssInd.

Change-Id: Id106f4ec106ba8debd5b7d6dcbda01407c2b7cf4
CRs-Fixed: 2310703
2018-09-06 23:55:03 -07:00
nshrivas
95cc5a27ca Release 5.2.0.95Q
Release 5.2.0.95Q

Change-Id: Ica9cc24f35cbc8dde989c5cb83cfbd3c1b77d734
CRs-Fixed: 774533
2018-09-06 22:22:36 -07:00
Liangwei Dong
d108cf20d6 qcacld-3.0: Disallow roam cfg if Roam not started
The driver always allow roaming command ROAM_SCAN_OFFLOAD_UPDATE_CFG
even through session roaming not "started" in CSR.
But WMA will always enable Roam_scan_mode to non-zero
to FW when handle the command ROAM_SCAN_OFFLOAD_UPDATE_CFG.
The inconsistency is the CSR still keep as roaming stopped
status but WMA enable the roaming on session.

In STA+STA case, there will cause two vdev roam mode enabled in Firmware
because the CSR roaming start state does not keep sync with FW.

Fix by enable FW roam only based on enable state from CSR
when handle the ROAM_SCAN_OFFLOAD_UPDATE_CFG in WMA.

Change-Id: I95a2bd1edd88cc241ae9821a6e0756c44663229a
CRs-Fixed: 2305594
2018-09-06 22:22:36 -07:00
Dustin Brown
ad698aef12 qcacld-3.0: Update country code from features init
hdd_reg_set_country() validates the hdd context, which returns an error
if start_modules_in_progress is true. This was the motivation behind
I4378438873ffa72c0fce415ade65b91b90e2c84a, which effectively moves the
call to hdd_reg_set_country() to after start modules is complete.
However, all of the callers to hdd_reg_set_country() already validate
the hdd context, so this check is redundant. This means
I4378438873ffa72c0fce415ade65b91b90e2c84a was unnecessary. As this
change also brought with it some technical debt in the form of
additional driver_status checks, simply remove the validate hdd context
check from hdd_reg_set_country(), and replace the original call site.

This change is also necessary to enable the removal of the
DRIVER_MODULES_OPENED state (I4ec1268eb491fec04a78b90e51c6e616d95e019e).

Change-Id: I5a0d8a8407969275f023431095ff6205ef515b62
CRs-Fixed: 2310446
2018-09-06 22:22:33 -07:00
nshrivas
3691901fe9 Release 5.2.0.95P
Release 5.2.0.95P

Change-Id: Icd336cd7379575333ad32b08373dbf92276bc0aa
CRs-Fixed: 774533
2018-09-06 20:34:24 -07:00
Jeff Johnson
0c8dbc37c4 qcacld-3.0: Refine the extscan reset significant change logic
Make the following updates to the extscan reset significant change
logic:
1) Exclusively use the Unified WMI data structures.
2) Update the HDD<=>SME interface to enforce the contract that SME
   must not make any assumptions about the buffers provided by HDD.

Change-Id: I9b63924f4219f6d3567e3ee2b1a31e1a9ce3bc29
CRs-Fixed: 2309570
2018-09-06 20:34:23 -07:00
nshrivas
59975c4308 Release 5.2.0.95O
Release 5.2.0.95O

Change-Id: If16650dd7595bc52af24a71655330afdcc736dbf
CRs-Fixed: 774533
2018-09-06 18:56:00 -07:00
nshrivas
11fcfcceaf Release 5.2.0.95N
Release 5.2.0.95N

Change-Id: I95df41866231c310e3d0db8579d8caf942cd249a
CRs-Fixed: 774533
2018-09-06 16:13:15 -07:00
Krunal Soni
3de6853e17 qcacld-3.0: Enable policy manager utfw only in slub debug build
1) CONFIG_MPC_UT_FRAMEWORK should only be enabled for slub debug build
2) CONFIG_MPC_UT_FRAMEWORK should be protected under
gEnableUnitTestFramework INI setting.

CRs-Fixed: 2309562
Change-Id: I314ec928af2a350d518eb8f8dd62dbadee1746e8
2018-09-06 16:13:15 -07:00
Amar Singhal
cc5a4ec63d qcacld-3.0: Check for hdd_ctx being NULL
In function hdd_register_rx_ol, hdd_ctx is retruned by cds_get_context.
Check for hdd_ctx being NULL before de-referencing it.

Change-Id: I5e45036930a03368310871d108062c2d24742602
CRs-Fixed: 2299782
2018-09-06 10:08:05 -07:00
Amar Singhal
9babc67597 qcacld-3.0: Check if NAPI ptr is NULL
Check if pointer returned by hdd_napi_get_all is NULL. This would prevent
de-referencing of NULL pointer.

Change-Id: I23af3319422e0d2ebd93ce410d76457c54551538
CRs-Fixed: 2299788
2018-09-06 10:06:11 -07:00
Amar Singhal
ddd2cf98d2 qcacld-3.0: Unlock the rx_ring spin-lock appropriately
Unlock the rx_ring.rx_hash_lock spin-lock when returning due to
failure to do smmu map_unmap.

Change-Id: I1b905c0ad529c80f78807c030920121ee0909825
CRs-Fixed: 2299785
2018-09-06 10:05:27 -07:00
nshrivas
f0144b67ab Release 5.2.0.95M
Release 5.2.0.95M

Change-Id: Iaac5e2408d14dfa4488720bf6351439d844012a3
CRs-Fixed: 774533
2018-09-06 08:54:37 -07:00
Rajeev Kumar Sirasanagandla
85f8b02175 qcacld-3.0: Add debugfs support for offload info
Add debugfs entry to get offload info (mc addr list, arp, ns etc.,)
for STA interface.

Change-Id: I8bf4491929b5ef04ed5ce19f4b0030945f0eb0c0
CRs-Fixed: 2203786
2018-09-06 08:54:37 -07:00
Rajeev Kumar Sirasanagandla
4c8edc0e69 qcacld-3.0: Add debugfs support for connect info
Add debugfs entry to get connect info (bssid, ssid, freq etc.,)
for STA interface.

Change-Id: Id5c350dbb4ca9b9f6b203459adee59b2d5e94f67
CRs-Fixed: 2203654
2018-09-06 08:54:34 -07:00
Rajeev Kumar Sirasanagandla
197d417733 qcacld-3.0: Add debugfs framework support for CSR
Add debugfs framework support to get connect, scan,
roam scan statistics and offload info from debugfs.

Change-Id: I86bdd7e449488d2bcda1b2eaaeb07aac7465770b
CRs-Fixed: 2203626
2018-09-06 08:54:31 -07:00
nshrivas
ac7764bd5e Release 5.2.0.95L
Release 5.2.0.95L

Change-Id: I9d44a165c2466d431315eeebde98f043deec5b30
CRs-Fixed: 774533
2018-09-06 01:41:53 -07:00
Alok Kumar
a13db78b09 qcacld-3.0: Add pre-allocated pool of SKBs for Rx ring
In low memory condition, RX ring may become empty when all
SKB buffers attached to the ring get consumed and kernel is
unable to allocate SKB buffer during replenish.

Create a pre-allocated pool of skbs during driver load time
and request the buffer from this pool in low memory case.

Change-Id: If8c6a4fe04f3c931dc60dcffe28e45166eab9835
CRs-Fixed: 2306861
2018-09-06 01:41:52 -07:00
Rachit Kankane
026e77a99d qcacld-3.0: Featurize P2P Listen Offload
P2P Listen offload is not a requirement for Genoa, hence featurize
P2P listen offload code to save memory foot-print for Genoa.

Change-Id: If50c784bb4cd6daac513a0654364e78cd636c9d3
CRs-Fixed: 2304554
2018-09-06 01:41:49 -07:00
nshrivas
5599e816fe Release 5.2.0.95K
Release 5.2.0.95K

Change-Id: I9d70edc449ae98c25e38f4a8de0e108f9d452b14
CRs-Fixed: 774533
2018-09-05 23:55:39 -07:00
Kiran Kumar Lokere
3499dcb1f4 qcacld-3.0: Fix the issue with Nss setting
Correct the typo in status check variable due to which
Nss setting returns failure.

Change-Id: I81a430b0482e79ee3b2d0b2c4e6aea232907919a
CRs-Fixed: 2302465
2018-09-05 23:55:39 -07:00
Dustin Brown
94ce20f5a4 qcacld-3.0: Validate context for qdf transition check
cds_is_module_state_transitioning() is effectively a partial
re-implementation of wlan_hdd_validate_context(). Instead of having
multiple copies of this logic, register a new callback in QDF which
simply calls wlan_hdd_validate_context() instead.

Change-Id: If533d72725b4cc9dbe5e4b9c25e499657c8e1376
CRs-Fixed: 2308771
2018-09-05 23:55:35 -07:00
nshrivas
0d5a51e3ad Release 5.2.0.95J
Release 5.2.0.95J

Change-Id: I068340a1f93e3e453fd2f45276c979e8318cf550
CRs-Fixed: 774533
2018-09-05 22:14:48 -07:00
Kiran Kumar Lokere
ad2a36b257 qcacld-3.0: Do not disable the Tx bfer capability when Nss is 1
Do not disable the Tx beamformer capability when Nss is set to 1.
FW would check the current chainmask configuration and enables
the Tx beamformer capability accordingly.

Change-Id: I8709147c63f2990f135d098fdf13fc3d9b00d7bc
CRs-Fixed: 2305772
2018-09-05 22:14:48 -07:00
Amar Singhal
4e855ade4c qcacld-3.0: Check for pdev being NULL
In function ol_txrx_offld_flush, check for pdev being
NULL, before de-referencing it.

Change-Id: I8999d894c74b6ef10cef91345370d859f5eee8ec
CRs-Fixed: 2299780
2018-09-05 22:14:44 -07:00
nshrivas
d457201d46 Release 5.2.0.95I
Release 5.2.0.95I

Change-Id: I78108260d8021e622e835bbc2b47e432ec927555
CRs-Fixed: 774533
2018-09-05 18:11:24 -07:00
Bala Venkatesh
113a9e602a qcacld-3.0: Configure the tdls offchannel params through IOCTL
Add support to configure tdls offchannel params
through IOCTL commands.

Change-Id: I90ba90b5ef980f837ce4759755efe190672ad911
CRs-Fixed: 2303145
2018-09-05 18:11:23 -07:00
nshrivas
252cb2bd7b Release 5.2.0.95H
Release 5.2.0.95H

Change-Id: I7245de192e06ef9faa3a076b6ec9f9911ccf80ab
CRs-Fixed: 774533
2018-09-05 16:45:35 -07:00
Arif Hussain
6686c0b995 qcacld-3.0: Enable twt based on peer capabilities
Enable twt based on peer capabilities, for non-AX devices.

Change-Id: I2710cfa362efe6fc58ad46ed41b1c3fe1b85d6f9
CRs-Fixed: 2287706
2018-09-05 16:45:34 -07:00
nshrivas
b6723ecdb7 Release 5.2.0.95G
Release 5.2.0.95G

Change-Id: I25f26c7c9b185b0400f915ce96216f60bf05b2b4
CRs-Fixed: 774533
2018-09-05 09:49:59 -07:00
Vignesh Viswanathan
a0921c424e qcacld-3.0: Fix naming conventions for MLME APIs and files
Fixed the naming conventions of APIs and files for MLME component.
Internal MLME component only APIs are in wlan_mlme_main.h/c files
under core.
APIs exposed to other components are in wlan_mlme_api.h/c files
under dispatcher.
APIs exposed to HDD are in wlan_mlme_ucfg_api.h/c files
under dispatcher.
mlme_init/deinit, mlme_psoc_open/close are called from HDD,
so made that as ucfg APIs.

Change-Id: I049008ceaa86ca52acd3ad9a02f903a732117d1f
CRs-Fixed: 2309276
2018-09-05 09:49:58 -07:00
nshrivas
b06efcfc04 Release 5.2.0.95F
Release 5.2.0.95F

Change-Id: Ic8f55ec95246b89f1130d99756861eea60337b65
CRs-Fixed: 774533
2018-09-05 08:20:55 -07:00
Abhinav Kumar
6f6944851b qcacld-3.0: Update secondary channel params for SAP after SSR
In case of recovery of SAP after SSR, driver is not updating
params for secondary channel as per primary channel (Operation
channel) for SAP.

Update parameters for secondary channel as per primary channel
before SAP start.

Change-Id: I2da2eff62881fe4e65208be778618d0b9c05bf88
CRs-Fixed: 2292645
2018-09-05 08:20:54 -07:00
Vignesh Viswanathan
56ee81f377 qcacld-3.0: Fix error handling cases in mac_open
Address remaining comments from I39eaa7bef5e5c50b9b1a8833bec5e6da8cdf0d72
to fix error handling cases in mac_open.

Change-Id: Ica67df97442275e80cb6a33da5b431ab457bb6ea
CRs-Fixed: 2305354
2018-09-05 08:20:50 -07:00
nshrivas
6af40cfb4b Release 5.2.0.95E
Release 5.2.0.95E

Change-Id: I6b2d63f63e76df17752dccfa131045cc2802ff18
CRs-Fixed: 774533
2018-09-05 06:47:08 -07:00
Mohit Khanna
b8ccd6ea7f qcacld-3.0: Reduce hdd txrx stats log level
Reduce the current stats log level for HDD TXRX stats from info to
debug.

Change-Id: Id50e45a57eb667af4e42f58d5df7b9bef9535517
CRs-Fixed: 2307482
2018-09-05 06:47:07 -07:00
Rajeev Kumar
b2b5e695a9 qcacld-3.0: Add SSR protection wrapper for bus bandwidth compute work
Bus bandwidth compute work handler is missing SSR protection wrapper
although it has HDD validate context check but since HDD validate
context check is not sufficient alone add CDS SSR protection wrapper
around bus bandwidth compute work handler.

Change-Id: I43b3495610b2a9936472ff67a95c7db8dbfa5560
CRs-Fixed: 2307421
2018-09-05 06:47:03 -07:00
Jeff Johnson
b43ed03298 qcacld-3.0: Refine the extscan set significant change logic
Make the following updates to the extscan set significant change
logic:
1) Exclusively use the Unified WMI data structures.
2) Update the HDD<=>SME interface to enforce the contract that SME
   must not make any assumptions about the buffers provided by HDD.

Change-Id: I916f387cee254c2d8ba57a9182bd927a91eadf0c
CRs-Fixed: 2307374
2018-09-05 06:46:59 -07:00
Liangwei Dong
2f29b37809 qcacld-3.0: Add INI for dbs mode selection
Add dbs_selection_policy to select preferred
2x2 DBS band.
Add vdev_priority_list to set the vdev 2x2
priority list.

Change-Id: I79bba3dbeecba85a04a4ddc1b57ca798998fc7d7
CRs-Fixed: 2304298
2018-09-05 06:46:55 -07:00
Abhinav Kumar
1138a912a7 qcacld-3.0: Possible mem leak in wma_roam_scan_offload_mode
wma_roam_scan_offload_mode, allocates mem for params buffer
to store roaming offload scan parameters locally from incoming
roam req. In last it calls wmi_unified_roam_scan_offload_mode_cmd
using param as an argument to set roam scan parameters to wmi
structure and free the local param buffer in the successful case.
But in case if driver unable to write wmi struct,
wma_roam_scan_offload_mode returns error status to its caller
without freeing locally allocated params mem buffer. This results
in mem leak while unsuccessful roaming offload.

Fix is to free locally allocated mem buff before the return
in case of roaming offload failure

Change-Id: Ic73f0b3ec004c3dcc53076594c0b872a29fee633
CRs-Fixed: 2308506
2018-09-05 06:46:51 -07:00
nshrivas
f7d3e88fa8 Release 5.2.0.95D
Release 5.2.0.95D

Change-Id: Ib8367eb8e988d375eeedf1f4b7c5acaa44f0bc0a
CRs-Fixed: 774533
2018-09-05 05:08:54 -07:00
hqu
bf1b618ba7 qcacld-3.0: Add process for userspace does not set avoid channel list
In platforms that support dual wifi instances, userspace doesn't
set avoid frequency channel list with command
QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY to trigger restart sap
process, but current handling is always to check avoid channel list
which is set by userspace so it will be failed for lte coex case.

Fix is to add process for userspace doesn't set avoid channel list.

Change-Id: Icc3356191411791f4cec9fd89e4490359cf6f1fc
CRs-Fixed: 2294109
2018-09-05 05:08:54 -07:00
Will Huang
6ab242c917 qcacld-3.0: Fix possible roam_synch_frame_event handler OOB
The length attributes for all message frames are retrieved from
param_buf->fixed_param rather than using the correct TLV length values.
This can result in multiple buffer overreads due to the fact that the
param_buf->fixed_param lengths are never properly checked against the
original TLV buffer.

Add check param_buf->fixed_param lengths against the TLV buffer to
prevent OOB happen.

Change-Id: Ib6e2c847b9a2cc7bfe1233eb1f8214be75f21850
CRs-Fixed: 2304631
2018-09-05 05:08:51 -07:00
Jianmin Zhu
aac14e0ac6 qcacld-3.0: Remove useless legacy roam reason eCsrLostLink1/2/3
1. Remove eCsrLostLink1/2/3 from csr_roam_reason.
2. Remove eCsrLostLink1/2/3 from csr_get_roam_cmd_type.
3. Remove csr_set_abort_roaming_command
4. Remove CSR_IS_ROAMING_COMMAND

Change-Id: Ibcc5dc63739b2764301f5a35a2110d570bc3928e
CRs-Fixed: 2308267
2018-09-05 05:08:47 -07:00
Jianmin Zhu
1ad0dadd83 qcacld-3.0: Remove useless legacy roam reason eSmeIssuedIbssJoinFailure
Remove all eSmeIssuedIbssJoinFailure relative code in disasssoc
and roam result handler.

Change-Id: Ia204fa331ec6f5de1ff52b8c2d2907d10f0d1ee4
CRs-Fixed: 2308522
2018-09-05 05:08:44 -07:00
Rajeev Kumar
75fc36eda0 qcacld-3.0: Free apf memory when interpreter is enabled
Dynamically allocated apf buffer memory is not freed in error case
when interpreter is enabled and leading to memory leak. Free APF
buffer memory in case APF interpreter is enabled to avoid memory
leak.

Change-Id: I012bf80eb6db7b986f812161b48f96b0965c0542
CRs-Fixed: 2308702
2018-09-05 05:08:41 -07:00
Rajeev Kumar Sirasanagandla
e3b599151d qcacld-3.0: Add support to store vdev object in PE session
Add support to store vdev object in PE session and acquire/release its
reference count during PE create/delete session respectively.

Change-Id: I476798c4c42992dec2a2648319780b206274e8c4
CRs-Fixed: 2306387
2018-09-05 05:08:37 -07:00
nshrivas
1119590a5f Release 5.2.0.95C
Release 5.2.0.95C

Change-Id: I2a40452a8b862a7ed940e1a5f8c0821bf0ad5a2a
CRs-Fixed: 774533
2018-09-05 00:17:53 -07:00
Rachit Kankane
ee1735c905 qcacld-3.0: Featurize RMC
Featurize RMC and disable for Genoa

Change-Id: I66b17622c89dd5736f152c4cd9506ce2706b4604
CRs-Fixed: 2304269
2018-09-05 00:17:52 -07:00
Rachit Kankane
39967f0e36 qcacld-3.0: allocate static variables dynamically
We have some local variables allocated statically in LIM.
To reduce data segment size, allocate these variables dynamically
and then free.

Change-Id: I9ab6a180a89342ebace6f92336bfe30a498f5848
CRs-Fixed: 2307644
2018-09-05 00:17:49 -07:00
Rachit Kankane
f6834c4b4c qcacld-3.0: Featurize Dynamic Voltage Config
Host provides INI way to control voltage configs, featurizing the
same for Genoa.

Change-Id: Ia58d84eb2e2a67ead189a51d2a0b98230513f8f9
CRs-Fixed: 2304125
2018-09-05 00:17:45 -07:00
nshrivas
f8273c3d02 Release 5.2.0.95B
Release 5.2.0.95B

Change-Id: I8f1da368837999244971dc4dba518931f391b92b
CRs-Fixed: 774533
2018-09-04 21:15:08 -07:00
Alok Kumar
81e1d73e68 qcacld-3.0: Reset NUD tracking status during hdd_start_adapter
NUD tracking is disabled in hdd_stop_adapter which needs to be
enabled back in hdd_start_adapter.

Enable the NUD tracking by setting NUD tracking status to false.

Change-Id: I606653d553d6282cfdb6e52a9bf5bc1100732375
CRs-Fixed: 2308351
2018-09-04 21:15:06 -07:00
Ashish Kumar Dhanotiya
8d039c8829 qcacld-3.0: Add mtrace logging for scan request
We are transitioning to new logging infrastructure
by using existing mtrace functionality.
Add new logging for complete scan request and response path.

Change-Id: Iab48b0f2a6ab9d0ec14e3110eb628b6d1731df53
CRs-Fixed: 2308237
2018-09-04 21:15:01 -07:00
nshrivas
e271e0e73d Release 5.2.0.95A
Release 5.2.0.95A

Change-Id: I53e66917a7bf434a705d26c0be37ab2450e9a2fc
CRs-Fixed: 774533
2018-09-04 15:27:37 -07:00
Dustin Brown
06fed35874 qcacld-3.0: Validate link layer stats adapter
__wlan_hdd_open_ll_stats_debugfs() currently does not ensure the given
adapter is up. This can lead to sending an invalid vdev Id to firmware.
Ensure the given adapter is up before sending the link layer stats
request to firmware.

Change-Id: I1c81f56ec795bc782404293c0f4abd8bbeb6b124
CRs-Fixed: 2306604
2018-09-04 15:27:37 -07:00
nshrivas
95cbbe524f Release 5.2.0.95
Release 5.2.0.95

Change-Id: I796cc86ab7687b61390a3bf2991478e4d5beffef
CRs-Fixed: 774533
2018-09-04 13:45:49 -07:00
nshrivas
e25209539c Release 5.2.0.94Z
Release 5.2.0.94Z

Change-Id: I5755eae89ae15c112c87d06a397640d736643c0e
CRs-Fixed: 774533
2018-09-04 11:53:30 -07:00
nshrivas
6a77430d0c Release 5.2.0.94Y
Release 5.2.0.94Y

Change-Id: I3172a4b876df55c5bbfdb534ac48bd2870a3b342
CRs-Fixed: 774533
2018-09-03 12:59:43 -07:00
Rajeev Kumar
c27efb6fd1 qcacld-3.0: Stop bus bandwidth compute timer during SSR shutdown
Stop bus bandwidth compute timer during SSR shutdown such that
bus bandwidth timer is stopped and bus bandwidth compute work is
flushed cleanly in all the cases.

Change-Id: Ie79ddd1ab13b852fb5d23029c51f05e921f72989
CRs-Fixed: 2307304
2018-09-03 12:59:42 -07:00
nshrivas
a4b5574221 Release 5.2.0.94X
Release 5.2.0.94X

Change-Id: I6d0cc67b02674a2c41fb461f71a111d0e532af05
CRs-Fixed: 774533
2018-09-03 06:48:36 -07:00
Yeshwanth Sriram Guntuka
cbe6144d29 qcacld-3.0: Reduce log level for few prints to debug
Change log level for few messages from info/warn/err
to debug.

Change-Id: I2fd3df21d70326301b39b91efdf827d6b391f4e3
CRs-Fixed: 2301924
2018-09-03 06:48:36 -07:00
Vignesh Viswanathan
7813a3d4e0 qcacld-3.0: Set the minsize of SuppChannels IE to 2
qcacld-2.0 to qcacld-3.0 propagation.

Some stations send association request with zero length of SuppChannels
IE then currently dot11f decodes it to an invalid value.

To fix this, set the minsize of SuppChannels IE to 2.

Change-Id: If44807d2f2b8a62e5a137ca3d17af2e2654f72f2
CRs-Fixed: 2303702
2018-09-03 06:48:32 -07:00
nshrivas
c80030d3d8 Release 5.2.0.94W
Release 5.2.0.94W

Change-Id: Iac390198f43cbc5c59ff0e06c357d0b9766475c6
CRs-Fixed: 774533
2018-09-03 03:29:35 -07:00
Arunk Khandavalli
40943af150 qcacld-3.0: Send the lpass scan interface for station interface
Presently the lpass information is sent during the wlan startup
at that point session for the station interface is not created.

Send the lpass scan interface notifcation for station when the
interface up/down is received.

Change-Id: I50a68acc62a76f9e65e1758cd3b21688c0dd3500
CRs-Fixed: 2048439
2018-09-03 03:29:35 -07:00
nshrivas
ea69622ee1 Release 5.2.0.94V
Release 5.2.0.94V

Change-Id: Id1ee6af4913a23e8d630256040792f25999f04de
CRs-Fixed: 774533
2018-09-03 00:22:08 -07:00
Nirav Shah
5c083da176 qcacld-3.0: Remove hardcoded print message for ini parameters
Remove hardcoded print message for ini parameters during
insmod and use hdd_cfg_get_global_config to print ini
parameters.

Change-Id: I3ac077818e99c461866211e220232fa6c0e3e00d
CRs-Fixed: 2278888
2018-09-03 00:22:07 -07:00
nshrivas
1c0a07025e Release 5.2.0.94U
Release 5.2.0.94U

Change-Id: Ica8a18af956fd536d60543ee1b963d1913873f49
CRs-Fixed: 774533
2018-09-02 14:33:23 -07:00
Mohit Khanna
13ea524aa3 qcacld-3.0: Donot de-init DP RX threads if not inited
In one of the tests, when the driver switches to FTM mode, DP RX threads
are not initialized as the necessary configuration is not passed down
from CDS. However, cds_dp_close tries to de-initialize the threads and a
spinlock un-initialized error is seen.

Donot de-initialize the DP RX thread module if it is not initialized.

Change-Id: I14a1dcb678c9d953abd3262e86408d12f4eb2617
CRs-Fixed: 2301398
2018-09-02 14:33:23 -07:00
nshrivas
1e0213ab58 Release 5.2.0.94T
Release 5.2.0.94T

Change-Id: Ie60d32ffdd6ce803f4a9ea73b99551e80b8d24db
CRs-Fixed: 774533
2018-09-01 19:19:26 -07:00
Dustin Brown
20f9fc4f4d qcacld-3.0: Use enums for hdd bit flags
Hdd has two sets of bitmap flags which are using #define's. It so
happens that two of the flags use the same bit offset. To address this,
and ensure no such issues arise in the future, convert these into
auto-incrementing enumerations.

Change-Id: I8f0e9d0f3a0a493176227ccf16f25d0a4c5bdc73
CRs-Fixed: 2307446
2018-09-01 19:19:26 -07:00
nshrivas
3c94ecf30c Release 5.2.0.94S
Release 5.2.0.94S

Change-Id: Id4d75bc374ece618bfa789c590614e937a79400f
CRs-Fixed: 774533
2018-09-01 01:42:29 -07:00
Manjunathappa Prakash
1253c3d270 qcacld-3.0: peer_handling: Add more debug_ids to narrow down
Fix and add debug_ids iappropriately account for function holding the peer
reference. This will help to further narrow down the peer leak.
Also add signatures in ref_release functions to catch error path.

Change-Id: I7f091ca8270ba724e24550e80208739d63d57b22
CRs-Fixed: 2293477
2018-09-01 01:42:29 -07:00
Amar Singhal
f989879feb qcacld-3.0: Log country while doing ACS
Log the current country while executing ACS logic. Current country
helps in knowing the current channel list.

Change-Id: I05a0982d940da19f178f0432372eead0313e77be
CRs-Fixed: 2296561
2018-09-01 01:42:26 -07:00
nshrivas
feab00087b Release 5.2.0.94R
Release 5.2.0.94R

Change-Id: I128eeadb6f68b74b205609e1502ebcdc6d66913c
CRs-Fixed: 774533
2018-09-01 00:05:18 -07:00
Amar Singhal
6ee3f24bb7 qcacld-3.0: Reduce logging level while processing beacon
Channel bonding mode can be disabled when connection happens. So reduce the
log level and rate for this log.

CRs-Fixed: 2298986
Change-Id: I47ab8111613292781bddca435f9800544b1e6d58
2018-09-01 00:05:18 -07:00
nshrivas
8fdfdebd47 Release 5.2.0.94Q
Release 5.2.0.94Q

Change-Id: I83ec498fefeaac2261f571fd4f5901b276a684f3
CRs-Fixed: 774533
2018-08-31 14:49:19 -07:00
Pragaspathi Thilagaraj
96aff7736b qcacld-3.0: Fix possible OOB in wma_pdev_div_info_evt_handler
In the function wma_pdev_div_info_evt_handler, while handling
WMI_PDEV_DIV_RSSI_ANTID_EVENTID  event, the corresponding event
handler wma_pdev_div_info_evt_handler is invoked. In  the
function wma_pdev_div_info_evt_handler, event_buf argument comes
directly from firmware and event parameter is pulled from event
buf. The event->num_chains_valid is used as the maximum bound on
the array index of chain_rssi[] array which has a maximum limit
of CHAIN_MAX_NUM(8). When event->num_chains_valid has a value
greater than this maximum limit, OOB write could occur.

Add check to validate the event->num_chains_valid against
CHAIN_MAX_NUM(8) and return failure if it exceeds.

Change-Id: I40f1aa8a7b4bcffef3cab588c78c700e88e24673
CRs-Fixed: 2304662
2018-08-31 14:49:18 -07:00
Vignesh Viswanathan
7818250f0f qcacld-3.0: Fix camel case names in mlme_ht_capabilities_info structure
Rename camel case names of members of mlme_ht_capabilities_info
structure.

Change-Id: I576ad77c4744c240537d540f1efaab0e7d9cb109
CRs-Fixed: 2293859
2018-08-31 14:49:14 -07:00
nshrivas
eb28eced14 Release 5.2.0.94P
Release 5.2.0.94P

Change-Id: If0881f8ac8d976d9a9e24b445c9d5de5ab1e56c1
CRs-Fixed: 774533
2018-08-31 13:08:27 -07:00
Krunal Soni
b39a0289b1 qcacld-3.0: Read listen interval offload support bit with new method
Current driver reads WMI_SERVICE_LISTEN_INTERVAL_OFFLOAD_SUPPORT BIT
through WMI_SERVICE_EXT_IS_ENABLED macro which is deprecated.

Update it by reading wmi_service_listen_interval_offload_support through
wmi_service_enabled() API.

CRs-Fixed: 2305522
Change-Id: I1d6aedec31d035a3e9c2514ad6dc2b13b79dfff3
2018-08-31 13:08:27 -07:00
Dustin Brown
1faac91278 qcacld-3.0: Clear pending flag in hdd_destroy_acs_timer()
hdd_create_acs_timer() sets VENDOR_ACS_RESPONSE_PENDING, but
hdd_destroy_acs_timer() does not ensure this flag is cleared. This can
lead to a situation where the ACS timer is not initialized, but parts of
the code incorrectly assume that it is. Clear
VENDOR_ACS_RESPONSE_PENDING in hdd_destroy_acs_timer() to prevent
invalid access to the ACS timer.

Change-Id: I7c367b20e279fadc5ee329d94b7475711796b185
CRs-Fixed: 2305719
2018-08-31 13:08:24 -07:00
Alok Kumar
5a75b9d348 qcacld-3.0: Revert "Do not enable the pktlog when interface is up"
By default pktlog needs to be enabled during driver load.
To enable/disable pktlog use INI parameter.

This reverts Change-Id: Ie03a7e0a77bc5f525ad7ae74bb104a6d1bf21eb7

Change-Id: I8f74b4bcebfb8b4a35a29e321b2b6bd5e1920bf7
CRs-Fixed: 2296335
2018-08-31 13:08:20 -07:00
nshrivas
8987b4bbde Release 5.2.0.94O
Release 5.2.0.94O

Change-Id: I98ab19b399d79c1a8cecd2c08f39395747106d94
CRs-Fixed: 774533
2018-08-31 11:17:18 -07:00
Amar Singhal
0fcce7d7a3 qcacld-3.0: Add INI to enable 11d in world mode
In WORLD mode, there can be urgency to discover the current country
since WORLD mode restricts the channel and TX power availability.Add
INI enable_11d_in_world_mode to automatically enable 11d in WORLD
mode. This INI supersedes the setting in 11d INI variable
Is11dSupportEnabled.

CRs-Fixed: 2289349
Change-Id: I7b289cdb60be5e737f41f9de5a478f32a234e717
2018-08-31 11:17:18 -07:00
nshrivas
9b3701c8a3 Release 5.2.0.94N
Release 5.2.0.94N

Change-Id: I0e8b8900ee06faad0d913cd4693aa5ce5720b5d2
CRs-Fixed: 774533
2018-08-31 02:33:15 -07:00
Karthik Kantamneni
22dd0f69cb qcacld-3.0: Add MLME CFG items of rates [PART 1]
Add MLME CFG items of rates

Change-Id: I9f52f2ef0eef4698ddc13c55dd56d938a6e4c677
2018-08-31 02:33:14 -07:00
nshrivas
1db505d181 Release 5.2.0.94M
Release 5.2.0.94M

Change-Id: I014733cabbf5fbb8d3e4082e5b2f997fc8ad8640
CRs-Fixed: 774533
2018-08-30 23:21:51 -07:00
gaolez
4b62a9e6cf qcacld-3.0: Set protected bit for ECSA action frame
qcacld-2.0 to qcacld-3.0 propagation

If all the STA connected to AP support ecsa, wlan driver will call
lim_send_extended_chan_switch_action_frame to send action frame,
but this function missing limSetProtectedBit when 11w enable,
this violate spec, so generate a fix for this issue.

Change-Id: I80f111f21015c98ee0abdafe76ea42c3e79163ac
CRs-Fixed: 2275626
2018-08-30 23:21:50 -07:00
nshrivas
5fdf148350 Release 5.2.0.94L
Release 5.2.0.94L

Change-Id: I92e574857f00f8d4fe51850b114edeb05a25ddfa
CRs-Fixed: 774533
2018-08-30 17:48:44 -07:00
nshrivas
4a80802a35 Release 5.2.0.94K
Release 5.2.0.94K

Change-Id: I5a124877d0fdcc1641efa2f23546b93d54e9e3ef
CRs-Fixed: 774533
2018-08-30 13:40:41 -07:00
Krunal Soni
eb692e3557 qcacld-3.0: Remove and Replace WMA_BCN_BUF_MAX_SIZE with LIM macro
Max beacon size in WMA layer is pointed by "WMA_BCN_BUF_MAX_SIZE"
which is currently set to 2500 bytes and Max beacon size in
PE layer is pointed by "SIR_MAX_BEACON_SIZE" which is currently
set to 512 bytes.

when wma_store_bcn_tmpl() gets called, this API tries to copy
beacon template from LIM to WMA which can't exceed 512 bytes.

To fix the issue, use SIR_MAX_BEACON_SIZE instead of
WMA_BCN_BUF_MAX_SIZE

CRs-Fixed: 2299791
Change-Id: I97b4c19611ec74c0702901c380bd32e866d26c8b
2018-08-30 13:40:41 -07:00
Krunal Soni
9e54d98689 Revert "qcacld-3.0: Add support to set/get timestamp for management frames"
1) This reverts commit
   Iab0862eda2392bd516c8ba0b913441b8e0d4c493
2) Reverted changes have been taken care through
   Idd7617782e71ee187eef7fcb3523c05b49f82094

CRs-Fixed: 2300054
Change-Id: Icc47ded9a585e356b7eae1ad53ffea6668510308
2018-08-30 13:40:38 -07:00
nshrivas
1e5b818a97 Release 5.2.0.94J
Release 5.2.0.94J

Change-Id: I577f48f97cffe707cd3c7cc88f4ff06536e252d5
CRs-Fixed: 774533
2018-08-30 10:15:57 -07:00
Abhishek Singh
78f654bcc5 qcacld-3.0: Validate cbmode and bw provided by AP in HTinfo IE
Driver checks if 40 Mhz is supported for the channel but doesn't
validate if the cbmode provided by AP is valid.

Invalid cb mode provided by AP can lead to failure.

Add check to validate cbmode and bandwidth from AP in htinfo IE.

Change-Id: I3d2da7a8e3045594baf201732dd80a82bd88e16c
CRs-Fixed: 2303267
2018-08-30 10:15:57 -07:00
nshrivas
3771f0499b Release 5.2.0.94I
Release 5.2.0.94I

Change-Id: I8b9d7b804d29ab06aa993f34ec21732a1c246611
CRs-Fixed: 774533
2018-08-30 08:43:16 -07:00
Dustin Brown
5e56f90a68 qcacld-3.0: Free llstats buffer if get fails
__wlan_hdd_open_ll_stats_debugfs() fails to free the llstats buffer in
the event that wlan_hdd_ll_stats_get() fails. Add error handling for
this call which frees the newly allocated buffer.

Change-Id: Ic5cff77a758ff81da82dd1143d77da68d87b9291
CRs-Fixed: 2304715
2018-08-30 08:43:15 -07:00
nshrivas
3520bb2f28 Release 5.2.0.94H
Release 5.2.0.94H

Change-Id: I09590c8a8328fe127950347869db6aca563652ea
CRs-Fixed: 774533
2018-08-30 07:02:29 -07:00
Jinwei Chen
1850d9ca80 qcacld-3.0: send deauth if recevie data from non-assoc STA
If SAP receive unicast data from a non-assoc STA, SAP should send
deauth mgmt frame to this STA, add this part logic to serve data path.

Change-Id: I47346e751b89eda77f6d6450218e2b70fe6b4953
CRs-Fixed: 2298550
2018-08-30 07:02:28 -07:00
nshrivas
6521466f63 Release 5.2.0.94G
Release 5.2.0.94G

Change-Id: I3482e2b22edf4f1755a0b8a75aeaca979b437482
CRs-Fixed: 774533
2018-08-30 05:14:09 -07:00
Vignesh Viswanathan
1e175800c7 qcacld-3.0: Cleanup Objmgr peer instead of CDP peer during SSR vdev_detach
When SSR is in progress, in vdev_detach, currently wma_force_vdev_cleanup
clears the peers from CDP vdev peer list. From the CDP, wma_remove_peer
is called via callback with the peer mac_addr. wma_remove_peer inturn
sends peer delete to FW, does a CDP peer delete and an ObjMgr peer delete.
But the peer delete to FW would not be sent as SSR is in progress and CDP
peer delete would not actually delete the peer from CDP as CDP will need
a peer unmap from the FW to actually delete the peer.

Proper implementation would be to delete the ObjMgr peers alone during SSR
in vdev_detach and let the cds_post_disable to take care of cleanup of
CDP Peers.

Change-Id: I6129b69eb26f3eaa68be40b62b822a4dfc6ff675
CRs-Fixed: 2302972
2018-08-30 05:14:09 -07:00
nshrivas
9d498d3e28 Release 5.2.0.94F
Release 5.2.0.94F

Change-Id: Ic546d841d4e71fd21ae3c6591ae2afea72dbce85
CRs-Fixed: 774533
2018-08-29 14:02:50 -07:00
Ryan Hsu
6e9db0b728 qcacld-3.0: add support to remove the ftm from configuration
Phase 1, after ftm componentization, we could now support to remove
the ftm related components when FTM is disable from the build
configuration.

Size changes: after removing the ftm related binaries, we could save
15KB from module size.

Change-Id: Ib363f1d6204b07947a46f32673c4f8ad6fb3dbd3
CRs-fixed: 2258441
2018-08-29 14:02:49 -07:00
nshrivas
edbe98af3c Release 5.2.0.94E
Release 5.2.0.94E

Change-Id: Ib03a34880e7cf4a29242f9949e83e17da25d1caa
CRs-Fixed: 774533
2018-08-29 12:30:21 -07:00
Sandeep Puligilla
1f1e400e99 qcacld-3.0: Change the log level in SME/PE/WMA
Change the info/err/warn log level to debug in
SME/PE/WMA layer.

Change-Id: Ica0a53d5d6e08b62bbc240ba763ccce59b26af0e
CRs-Fixed: 2299223
2018-08-29 12:30:20 -07:00
nshrivas
ef1187b8b8 Release 5.2.0.94D
Release 5.2.0.94D

Change-Id: I5bb2105b20bc61d024f45adb207b349ad96778a0
CRs-Fixed: 774533
2018-08-29 03:07:51 -07:00
bings
13f45e6690 qcacld-3.0: Always update mgmt encryption type when there is RSN IE
If mgmt encryption type is not updated, 11w feature will not be enabled
correctly for this association.

Mgmt encryption type is always updated through limJoinReqSerDes in the
cld2.0, which is removed in cld3.0. In cld3.0 if fast roaming is enabled,
mgmt encryption type will be updated through csr_construct_rsn_ie. If
fast roaming is not enabled, csr_construct_rsn_ie will not be called and
mgmt encryption type will not be updated.

Always called csr_construct_rsn_ie in csr_retrieve_rsn_ie to make sure
mgmt encryption type is updated.

Change-Id: I2d6541dd88a9d1770f4976b9caa32baa70a60ed3
CRs-Fixed: 2300847
2018-08-29 03:07:51 -07:00
nshrivas
d0a15fb745 Release 5.2.0.94C
Release 5.2.0.94C

Change-Id: I3dd4fac7d9c208992e279e7918f36a4a84f5b8d5
CRs-Fixed: 774533
2018-08-28 18:27:57 -07:00
Dustin Brown
5f8955a994 qcacld-3.0: Add dispatcher_psoc_open() error handling
The error handling in cds_open(), in the event that the call to
dispatcher_psoc_open() fails, is currently empty. Add appropriate error
handing for this case by referencing cds_open() and cds_close().

Change-Id: I2b0d328e365efd67099bb8e6b529720c7b1904c5
CRs-Fixed: 2303785
2018-08-28 18:27:56 -07:00
nshrivas
814eb54845 Release 5.2.0.94B
Release 5.2.0.94B

Change-Id: I4750f2989c2810e47137f4ced327cba63aa32e99
CRs-Fixed: 774533
2018-08-28 14:46:24 -07:00
Krunal Soni
6c3859f433 qcacld-3.0: Add iwpriv command to set and get BA aging timeout value
Add new iwpriv command to set BA aging timeout value to hardware.

e.g. "iwpriv wlan0 set_ba_timeout <ac> <duration>" which should set
given duration in msecs for given access class.

"iwpriv wlan0 get_ba_timeout" which should get duration
value for each access class and display.

CRs-Fixed: 2254891
Change-Id: I79f79191c47376e414dceeb73b736a0a9610e3ae
2018-08-28 14:46:24 -07:00
Dustin Brown
da0262a36f qcacld-3.0: Add mac_open() error handling
The error handling in cds_open(), in the event that the call to
mac_open() fails, is currently stubbed out. Add appropriate error
handling for this case by referencing cds_open() and cds_close().

Change-Id: I6103050d5f2323250c9254a5a3add01fd0d34de3
CRs-Fixed: 2302968
2018-08-28 14:46:21 -07:00
nshrivas
bfa79e902c Release 5.2.0.94A
Release 5.2.0.94A

Change-Id: I308645077d6567bf7e5000a7e7d5264b8e13a1f1
CRs-Fixed: 774533
2018-08-28 13:09:43 -07:00
Vignesh Viswanathan
6b89ab57b5 qcacld-3.0: Fix psoc ref and memory leaks in mac_open
psoc ref count and mac_context memory is leaked in failure cases
of mac_open API.

Fix the psoc ref count and memory leaks in failure cases.

Change-Id: I39eaa7bef5e5c50b9b1a8833bec5e6da8cdf0d72
CRs-Fixed: 2302187
2018-08-28 13:09:42 -07:00
nshrivas
9658cff303 Release 5.2.0.94
Release 5.2.0.94

Change-Id: If60f4468068c9f4290ec0a876c57051617972bb9
CRs-Fixed: 774533
2018-08-28 09:14:54 -07:00
Dundi Raviteja
ffa9bf4798 qcacld-3.0: NULL pointer dereference in assoc completion handler
BSS description is dereferencing in hdd_association_completion_handler
without checking for NULL, which may cause NULL pointer dereference.

To address this, add check for BSS description before dereferencing.

Change-Id: I24f728fb6d66b4c07dfe39f3ac426f3d2153b917
CRs-Fixed: 2299797
2018-08-28 09:14:53 -07:00
nshrivas
fcbfbbe408 Release 5.2.0.93Z
Release 5.2.0.93Z

Change-Id: I4a9a834cc16b4c37759045d62c194d7ac39edc43
CRs-Fixed: 774533
2018-08-27 23:51:34 -07:00
Jianmin Zhu
c39613c592 qcacld-3.0: Enhance SAP concurrency check to cover AP channel switch case
SAP(Go) concurrency check is mainly used for two purposes:

1) When new GO/SAP session is coming up and needs to check if
this session's channel can co-exist with existing GO/SAP
sessions. For example, in case of single radio platform, MCC for
SAP/GO+SAP/GO is not supported, in such case this API should
prevent bringing the second connection.

2)There is already existing SAP+GO combination but due to upper
layer notifying LTE-COEX event or sending command to move one of
the connections to different channel. In such cases before moving
existing connection to new channel, check if new channel can
co-exist with the other existing connection. For example, one
SAP1 is on channel-6 and second SAP2 is on channel-36 and lets
say they are doing DBS, and lets say upper layer sends LTE-COEX
to move SAP1 from channel-6 to channel-149. In this case, SAP1
and SAP2 will end up doing MCC which may not be desirable result.

Add vdev_id check while checking for 2nd case. If connection with
given vdev_id exist then it is confirmed that it's a case of
channel switch rather than a new connection case.

Change-Id: I2535b38af353be2abd9c2ff636c06f3c5869969d
CRs-Fixed: 2300451
2018-08-27 23:51:34 -07:00
Lin Bai
5dc8ddb6ab qcacld-3.0: Remove redundant MACRO for lim_set_protected_bit
There are two lim_set_protected_bit() implementation with/without
WLAN_FEATURE_11W defined.
So no need to wrap this function with macro WLAN_FEATURE_11W.

Change-Id: I719f623d17ed0db655d33bda04b51937f1c1c5f4
CRs-Fixed: 2298804
2018-08-27 23:51:30 -07:00
nshrivas
f2e4eac572 Release 5.2.0.93Y
Release 5.2.0.93Y

Change-Id: I4e08002ba3673959e3ee98e29c29909a72e9d9f6
CRs-Fixed: 774533
2018-08-27 16:43:11 -07:00
Dustin Brown
35008baacb qcacld-3.0: Stop bus bandwidth work with timer
The bus bandwidth compute timer is a periodic timer which computes bus
bandwidth usage of associated adapters over a period of time. When the
last adapter disassociates, this timer is stopped. However, the timer
starts a work that is not stopped or flushed at this time. When the
device is under load from external subsystems, this work can get pushed
out past what is safe. When the bus bandwidth timer is stopped, also
stop and flush the bus bandwidth work to ensure safe memory access.

Change-Id: I32c15b42c9756341d1ecf534c05f87738fd24edb
CRs-Fixed: 2300697
2018-08-27 16:43:10 -07:00
Sourav Mohapatra
a5c7a26207 qcacld-3.0: Set recovery_in_progress flag for all the fw down events
Presently, recovery inprogress flag is set only when PLD_RECOVERY
is received but in cases of rejuvenate only PLD_FW_DOWN is received.

Set for the recovery in progress for all the firmware down events
so the unneccessary bug_on's will be avoided.

Change-Id: I654e9e5b02925ac21857369f87af6ca40d8dc815
CRs-Fixed: 2285278
2018-08-27 16:43:06 -07:00
Abhinav Kumar
cc959f1b44 qcacld-3.0: Possible use of un-initialized var while changing interface
Currently, driver calls hdd_alloc_station_adapter to initialize the
completion variables for a particular adapter only if mode of interface
is STA or P2P. In case when driver changes its STA + SAP mode to
STA + STA mode by calling hdd_open_concurrent_interface, driver is not
able to initialize init_completion variable for new STA interface. So
while processing fw commands (for new STA interface) which uses
completion variables, driver leads to the use of uninitialized
variables issue.

Create new function cmn_init_completion to initialize completion
variables for all interfaces while opening the HDD adapter.

Change-Id: Iae8ec1a86dd4084c9f5b39ec0d90e16182212df9
CRs-Fixed: 2288919
2018-08-27 16:43:03 -07:00
nshrivas
f183a2e746 Release 5.2.0.93X
Release 5.2.0.93X

Change-Id: I4186f28a68a64f9659bbcff9e07ee9793201cf5f
CRs-Fixed: 774533
2018-08-27 08:53:23 -07:00
Jingxiang Ge
ec11359f6d qcacld-3.0: Fix session can't be closed issue
There is race condition for a small window. The scenario
as below.

1 SAP is starting, and dfs cac begins but without finished.
2 SSR happens, wlan begins to call hdd_reset_all_adapters.
  In hdd_reset_all_adapters, sap_ctx->sessionId is reset to invalid.
3 In hdd_hostapd_sap_event_cb, adapter sessionId is set to
  sap_ctx->sessionId, after this step, adapter sessionId is changed
  from valid sessionId to 0xff.
  In hdd_reset_all_adapters->hdd_vdev_destroy, vdev is released
  but session can't be clean up as invalid sessionId. adapter->event_flags
  can't be clear which cause hdd_vdev_destroy can be called multi times.

Change as below.
1 cancel cac timer at the beginning of hdd_reset_all_adapters and
  before wlansap_set_invalid_session.
2 before send eSAP_START_BSS_EVENT, check if sap_ctx->sessionId
  is valid.

Change-Id: Ifaad62cd008f7769b059f36530455d4e734522e4
CRs-Fixed: 2293072
2018-08-27 08:53:22 -07:00
nshrivas
eb839f15af Release 5.2.0.93W
Release 5.2.0.93W

Change-Id: Ia3b84ca855b26c8a294111801aea913e86126f22
CRs-Fixed: 774533
2018-08-27 07:00:35 -07:00
Nachiket Kukade
989bb351cb qcacld-3.0: Advertise NAN support only if INI is enabled
Under get_supported_features vendor command driver is advertising
NAN capability by checking only the Firmware support. If NAN is
disabled through INI it should not advertize this support.

Add an INI parameter check before advertizing NAN capability.

Change-Id: Ib48044a04500d6619b97d5ca1c3431ee64d7e096
CRs-Fixed: 2288204
2018-08-27 07:00:35 -07:00
nshrivas
9d39f27edf Release 5.2.0.93V
Release 5.2.0.93V

Change-Id: Ib8967c32fd6a0442cee8f2390426feb4db8ebe2f
CRs-Fixed: 774533
2018-08-27 04:47:41 -07:00
Sourav Mohapatra
b1260134ad qcacld-3.0: Rectify deinit sequence leading to NULL ptr dereference
In function hdd_wlan_de_init, the hdd_context is fetched via
cds_get_context. This context is then NULL checked. In the failure case
of this check, the hdd_context is still dereferenced which shall lead to
null pointer dereference.

Add proper jump statement to take care of the proper order of init and
deinit

Change-Id: Ied0ac42371315d0286cdcc71e6e0e10ed2ff5fa1
CRs-Fixed: 2299794
2018-08-27 04:47:41 -07:00
nshrivas
f0fd7d2dc0 Release 5.2.0.93U
Release 5.2.0.93U

Change-Id: I5b347b89f69d79d5373e7a5cec22c19092c1d02b
CRs-Fixed: 774533
2018-08-27 03:09:44 -07:00
Abhinav Kumar
2c0b342950 Revert "qcacld-3.0: Host sends VDEV_DELETE cmd to fw before stop_bss"
While handling IPA event in case if, __wlan_ipa_wlan_evt() queue
WLAN_AP_DISCONNECT cmd for later processing in work-queue context and
in the meanwhile sme close session deletes vdev then, as part of work
queue context driver process WLAN_AP_DISCONNECT and sends
WMA_IPA_OFFLOAD_ENABLE_DISABLE cmd to firmware for the VDEV which is
already deleted by sme_close_session. This result asserts in firmware.

This reverts commit Ief9318bb476b480fd52f4155a0788a34c1e2ed53

Change-Id: I6128fb489fc40cc7ed01cbdf9c419a6a6b20c6d4
CRs-Fixed: 2295672
2018-08-27 03:09:43 -07:00
Bala Venkatesh
b13a3c24f5 qcacld-3.0: Do not Teardown tdls links if new interface is p2p device
As part of any change interface TDLS links are toredown and tdls
state set to disabled in FW. The assumption here is before adding
new interface disable TDLS mode as TDLS is not supported in
concurrency. Due to recent changes in framework,
Driver may receive the change interface to P2P Device mode
after STA connection then teardown is not expected as
STA + P2P Device modes does not comes under concurrent operation.

Check for current and new interface types before disabling TDLS.

Change-Id: I26cfab077b3f83c64687479fba5c7a7c01491a52
CRs-Fixed: 2301650
2018-08-27 03:09:39 -07:00