Commit Graph

12234 Commits

Author SHA1 Message Date
Bala Venkatesh
4183779454 qcacld-3.0: Reset auth_failure_timeout in pe_delete_session
auth_failure_timeout is updated as part of
lim_check_and_announce_join_success for p2p client with NOA.
And the default value is stored in pe_session->defaultAuthFailureTimeout
After receiving the auth resp or in case of auth failure the
auth_failure_timeout is reset to default value. But there is any other
failure and pe session is deleted then the auth_failure_timeout is
not reset. And p2p cli connection will use the wrong auth timeout.
And can result in connection delay's if GO doesn't send the auth response.

Reset the auth_failure_timeout to defalut as part of pe_delete_session.
And decrease the max value to 5000ms.

Change-Id: I374bf45279f086127ef062b83a06049c895c4675
CRs-Fixed: 2343832
2018-11-02 09:30:49 -07:00
nshrivas
d0592c7926 Release 5.2.0.104N
Release 5.2.0.104N

Change-Id: I72d5c444b9a816452eb975513bb79e122f203e6d
CRs-Fixed: 774533
2018-11-02 06:32:47 -07:00
Sravan Kumar Kairam
887e89ebe0 qcacld-3.0: Log TX net queue state for tx timeout
Currently in case of net tx timeout there is no information
which net tx queue is paused. So log the information of all
net tx queue state in case of tx timeout.

Change-Id: I0b92bd98ad68afcaba9b0f3babb135466bdfa503
CRs-Fixed: 2335572
2018-11-02 01:55:29 -07:00
nshrivas
13402e185c Release 5.2.0.104M
Release 5.2.0.104M

Change-Id: I1111396867fb233b632d7aab07451a9c5afe5224
CRs-Fixed: 774533
2018-11-01 23:03:53 -07:00
Krunal Soni
457ec247dd qcacld-3.0: Enable Shadow register V2 in defconfig build
All the changes related to Shadow register V2 are added to
defconfig build for lithium platform.

Kickstart them by enabling CONFIG_SHADOW_V2 in config.

CRs-Fixed: 2343779
Change-Id: I07c93b5d43edc5010e501ab06cc7050a6e8c9c7f
2018-11-01 23:03:52 -07:00
nshrivas
6a45a2c250 Release 5.2.0.104L
Release 5.2.0.104L

Change-Id: I85763e7862d9ccf2d18e75bc90f3668830e2546a
CRs-Fixed: 774533
2018-11-01 21:18:05 -07:00
Jeff Johnson
1a05fda843 qcacld-3.0: Refactor WE_SET_GTX_* 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_GTX_* ioctl handling into separate functions.

Change-Id: I8303aaaa8009e568684a9a54dbfd92ea98b3df5e
CRs-Fixed: 2343555
2018-11-01 21:18:04 -07:00
Dustin Brown
db2df2e3d9 qcacld-3.0: Move psoc destroy to hdd_context_destroy
Ida2b81eef0ebbfba2749ca89b63980201830a5e2 moved psoc create into
hdd_context_create(), however the destroy path remained as it was. This
caused a regression in the error path where the psoc was not cleaned up
in all cases. Move the psoc destroy into hdd_context_destroy to maintain
symmetry and avoid leaking the psoc under error conditions.

Change-Id: I3b16c9ea37dcf3e3b0ef262894aead5ff4fac59c
CRs-Fixed: 2342955
2018-11-01 21:18:00 -07:00
nshrivas
97dd4e13f5 Release 5.2.0.104K
Release 5.2.0.104K

Change-Id: I988fba4ee82d022bee91b9ac1803817957f4a485
CRs-Fixed: 774533
2018-11-01 17:24:03 -07:00
Arif Hussain
6e4d14adf7 qcacld-3.0: dfs: Remove zero cac files from build
Remove zero cac files from build

Change-Id: Ic1864a4d02e17458e9b2620e675b59c1b9066ced
CRs-Fixed: 2343692
2018-11-01 17:24:02 -07:00
nshrivas
d6f83affad Release 5.2.0.104J
Release 5.2.0.104J

Change-Id: I8e0615aa1741fed9eda2af0ade26ffae4a295a0f
CRs-Fixed: 774533
2018-11-01 15:38:19 -07:00
Kiran Kumar Lokere
9159af6963 qcacld-3.0: Fix the issue with SU Tx beamformer cfg setting
There are two cfg setting parameters defined for SU Tx beamformer
and improperly updated the cfg settings hence the Tx beamformer
capability advertised as unsupported always.
Remove the redundant setting for SU Tx beamformer and update the cfg
with correct values.

Change-Id: I422179ae87ab5c561f0356bcab4585fbdc53c0bd
CRs-Fixed: 2343090
2018-11-01 15:38:18 -07:00
Ashish Kumar Dhanotiya
6784b5042b qcacld-3.0: Release Interface MAC addresses gracefully
Currently if any interface comes up on any of the MAC address
from the driver's default MAC address list and if this MAC is
changed dynamically, now if this interface is deleted, it will
not be able to release this MAC address as this newly
configured MAC doesn't match with any of the MAC from the
driver's default MAC addresses and driver is not able to
release this MAC cosidering it as invalid MAC, because of
this corresponding MAC interface mask bit is also not getting
reset and will never get reset, indicating corresponding MAC
is not available for use. If MAC addresses are changed for all
the interfaces which initially comes up on driver's default
MAC address and later these interfaces are deleted, driver
will not be able to add any of new interfaces even there is
no active interface currently in the driver.

To resolve this issue add one more MAC address list for dynamic
addresses cache all the dynamic address changes in this list,
while releasing the MAC on interface delete, release the MAC
from this dynamic list and reset the corresponding interface
mask bit.

Change-Id: I9b6448dced2d3af75625a5c862d2913c33f9983c
CRs-Fixed: 2328304
2018-11-01 15:38:14 -07:00
nshrivas
d37095395b Release 5.2.0.104I
Release 5.2.0.104I

Change-Id: I539008431558b1a9bda7e0b6bb5de5225cf740af
CRs-Fixed: 774533
2018-11-01 09:17:41 -07:00
chenguo
7130396803 qcacld-3.0: Reinitialize PM objects for monitor mode
Function hdd_override_all_ps is only used for monitor mode. In
this function, unexpected PM objects will cause initialization
malfunction. Move these PM objects setting after vdev creation.

CRs-Fixed: 2338261
Change-Id: I0d0e7b1bc4ec0853a274bdea8db2bbe3a3dbe885
2018-11-01 09:17:40 -07:00
nshrivas
219f442c44 Release 5.2.0.104H
Release 5.2.0.104H

Change-Id: I28deb33495765fc0f42d2ae62a63e22c3f3b6fa1
CRs-Fixed: 774533
2018-11-01 07:40:43 -07:00
Abhishek Singh
ec7e31a70a qcacld-3.0: Do not register SAP as requestor again after reinit
During SSR the sap context is reinitialized and it request for
scan request id again deleting the older request id from scan module
this can lead to situation where the scan requestor list is filled by
SAP request id's and thus next request for request id will return 0.

Now during de init when it try to delete the requestor id 0 it delete
the 0th entry which is for CFG. Now if again SAP register the request
id it will get the 0th index which was freed and thus when CFG
requests a scan the sap callback is called instead of CFG leading to
NULL pointer access.

Fix this by not registering for request id again after SSR for SAP.

Change-Id: Ibc8ad0700b602a9c3d2769d979303499df8d6605
CRs-Fixed: 2341133
2018-11-01 07:40:42 -07:00
nshrivas
4892289f62 Release 5.2.0.104G
Release 5.2.0.104G

Change-Id: I39d611c7f0952e616788ba4e9a4cba419246d6e6
CRs-Fixed: 774533
2018-11-01 05:42:07 -07:00
jitiphil
377bcc1227 qcacld-3.0: Add legacy DP CFG items and APIs
Add the basic infra for legacy DP CFG items and the APIs
to be used from other components.

Change-Id: If7ad0e02c65e04ea13a308e680c9ba3b3d84ae25
CRs-Fixed: 2324099
2018-11-01 05:42:07 -07:00
nshrivas
ce205098f5 Release 5.2.0.104F
Release 5.2.0.104F

Change-Id: I26eaff5b645eea2b54eea713306ca6636c904c17
CRs-Fixed: 774533
2018-11-01 04:20:16 -07:00
Abhishek Singh
8d11564b56 qcacld-3.0: Fix memory leak of sap_ctx->channelList
In sap_deinit_ctx() the check to free sap_ctx->channelList is after
sap_ctx is memset to 0 and thus sap_ctx->channelList will always be
NULL and memory will never get freed.

Also there is no need to reset scan_vdev_del_in_progress after vdev
is deleted in firmware as there still can be the race when scan is
processed. scan_vdev_del_in_progress will be deleted with obj_mgr
vdev so no need to reset it.

Change-Id: Ie5f133d4db48485434436e67ce1643d8e1e04106
CRs-Fixed: 2342039
2018-11-01 04:20:16 -07:00
nshrivas
b322f913bc Release 5.2.0.104E
Release 5.2.0.104E

Change-Id: I7f9ad0c42f5ea9106a58abdc12bcd494f47fee4f
CRs-Fixed: 774533
2018-10-31 23:04:24 -07:00
Jeff Johnson
d0477f2b7a qcacld-3.0: Refactor WE_PPS_* processing
One of the HDD functions with the highest cyclomatic complexity is
__iw_setint_getnone(). The handing of all of the WE_PPS_* sub-ioctls
has a complexity greater than 1, so refactor that logic into separate
functions to help reduce the complexity of __iw_setint_getnone().

Change-Id: I2abde9c5e300302c7948049027d2db88c893211a
CRs-Fixed: 2341123
2018-10-31 23:04:23 -07:00
nshrivas
e890acc0a7 Release 5.2.0.104D
Release 5.2.0.104D

Change-Id: I04ad27b4d8a8cf21fe70ae52acc643029079e666
CRs-Fixed: 774533
2018-10-31 19:20:37 -07:00
Harprit Chhabada
bd027a00e8 qcacld-3.0: Initialize the ACS cfg items in MLME
Initialize the following ACS cfg items:
1.CFG_ACS_WITH_MORE_PARAM_NAME
2.CFG_AUTO_CHANNEL_SELECT_WEIGHT
3.CFG_USER_AUTO_CHANNEL_SELECTION
4.CFG_USER_ACS_DFS_LTE
5.CFG_EXTERNAL_ACS_POLICY

Change-Id: I9500964076b29ba4f067ee25dffa019327cce901
CRs-Fixed: 2342046
2018-10-31 19:20:37 -07:00
nshrivas
5da0012aeb Release 5.2.0.104C
Release 5.2.0.104C

Change-Id: I9ee71438b0ec536153000f7e630c879d7db0e256
CRs-Fixed: 774533
2018-10-31 16:28:11 -07:00
Abhishek Singh
254d551576 qcacld-3.0: Fix mem leak in join and reassoc req
If event posting to VDEV state machine fails, the memory allocated
in lim join and reassoc req is not freed, leading to mem leak.

Fix this by freeing the memory in failure cases.

Change-Id: I3769684e6ad64341b73dd6f6343adc8c0d26d04c
CRs-Fixed: 2342487
2018-10-31 16:28:11 -07:00
nshrivas
e903e91e63 Release 5.2.0.104B
Release 5.2.0.104B

Change-Id: I45fadf4e36b00aa3b7fa129ffbe7517016f4853a
CRs-Fixed: 774533
2018-10-31 15:00:17 -07:00
Rajeev Kumar Sirasanagandla
e5787e2440 qcacld-3.0: Handle failure of self peer remove in SSR
When SSR is in progress, when trying to remove self peer, if
wma_remove_peer() is failed then wma_vdev_detach() doesn't send del sta
response and wma_self_peer_remove() can still proceed to start vdev
hold request timer. This can lead to skip of vdev reference count
release by wma acquired during vdev attach.

To address this, release vdev reference count when self peer remove is
failed and when del self sta request is timed-out.

Change-Id: I2703261a848983b10798cb8ec74d1cec5a393ce5
CRs-Fixed: 2342453
2018-10-31 15:00:17 -07:00
Jinwei Chen
c163f9ed3e qcacld-3.0: modify WAPI initial PN value
Currently Napier FW WAPI TX/RX initial PN logic is fit for WIN
host, modify MCL host to align with WIN so that WAPI can work.

Change-Id: I0b49a25e75d1e9c4856daf8648d6561486005ba9
CRs-Fixed: 2323152
2018-10-31 15:00:12 -07:00
nshrivas
8501e50fbb Release 5.2.0.104A
Release 5.2.0.104A

Change-Id: Ifb1e762f9ab8dc7b6c371fd7f83d872be6540de9
CRs-Fixed: 774533
2018-10-31 13:21:15 -07:00
Hardik Kantilal Patel
239c7a268d qcacld-3.0: remove redundant snoc pld APIs
The snoc wlan platform driver supports snoc API with
the device pointer in all upstream kernel, So remove
the redundant snoc APIs from the pld layer.

CRs-Fixed: 2173110
Change-Id: Iee8bce586569e135da81f9a465a9e7df8b042af4
2018-10-31 13:21:15 -07:00
Abhishek Singh
d93a0b2d5c qcacld-3.0: Fix active cmd timeout for set_dual_mac_config during SSR
In error cases of set hw mode, set dual config etc are not handled
in all scenarios and thus the active cmd is not removed in this case
resulting in active cmd timeout.

Fix this by handling and sending failure resp for all the error
scenarios.

Change-Id: I21151798f58bf9816458430d96c7fd1d5f0ee07f
CRs-Fixed: 2341816
2018-10-31 13:21:10 -07:00
nshrivas
a83b817157 Release 5.2.0.104
Release 5.2.0.104

Change-Id: I4d8ae06b355cc235aa943aec7142e18a06a9b71f
CRs-Fixed: 774533
2018-10-31 11:50:41 -07:00
Jeff Johnson
a0b912c10a qcacld-3.0: Correctly disable FASTPATH on Lithium
Change "qcacld-3.0: Compile hif_main_legacy file for non-lithium
architecture" (Idd8623612c057380e9bd9704be0538923f37be08) introduced
flawed logic to disable FASTPATH for lithium architecture, so fix the
logic.

Change-Id: I8010c04c7e9e7e4d74dfe1679b0e9b22f5d8ae18
CRs-Fixed: 2342057
2018-10-31 11:50:40 -07:00
nshrivas
dd83a6810f Release 5.2.0.103Z
Release 5.2.0.103Z

Change-Id: Ibdd9713d801e323c8eb7df6d54df4c97c791b249
CRs-Fixed: 774533
2018-10-31 10:07:02 -07:00
Dustin Brown
d747ecd5d9 qcacld-3.0: Address style issues in stop adapter
To help reduce the complexity of future refactorings in
hdd_stop_adapter_ext(), address some simple style issues.

Change-Id: Iae67f1d828c1ffcb102a78617c40db1babf5b009
CRs-Fixed: 2342133
2018-10-31 10:07:01 -07:00
nshrivas
53e7b0b4b5 Release 5.2.0.103Y
Release 5.2.0.103Y

Change-Id: Iba37144cad30f31c6e2976e09b628ffb3fd066ae
CRs-Fixed: 774533
2018-10-30 01:46:02 -07:00
Will Huang
a47dca3872 qcacld-3.0: Map as QDF_DMA_BIDIRECTIONAL for PMF tx frame
Some target which support sending mgmt frame based on htt would DMA
write this PMF tx frame buffer, it may cause smmu check permission
fault, set a flag to do special DMA map.

Change-Id: I3686be211374d2c316726fa3248dedce87c3faed
CRs-Fixed: 2332329
2018-10-30 01:46:01 -07:00
nshrivas
8096d84309 Release 5.2.0.103X
Release 5.2.0.103X

Change-Id: Iee15e42a07b35eb0fb7f3e039f919d20036288b9
CRs-Fixed: 774533
2018-10-29 22:59:37 -07:00
yuanl
5a28749530 qcacld-3.0: Add SAP, GO and currency support for TSF feature
1) Support SAP, GO standalone case
2) Support SAP + STA concurrency
3) Support GO + STA concurrency

Change-Id: I7da2102f0d8b893bc057bc8ecf0af4ab74f81db4
CR-Fixed:2320218
2018-10-29 22:59:36 -07:00
nshrivas
1036b23fa0 Release 5.2.0.103W
Release 5.2.0.103W

Change-Id: I2d3ab19251f4e7a454e38daaf73941414675899c
CRs-Fixed: 774533
2018-10-29 18:21:02 -07:00
Jeff Johnson
cb598fd644 qcacld-3.0: Refactor WE_CLEAR_STATS processing
One of the HDD functions with the highest cyclomatic complexity is
__iw_setint_getnone(). The handing of WE_CLEAR_STATS has a complexity
greater than 1, so refactor that logic into a separate function to
help reduce the complexity of __iw_setint_getnone().

Change-Id: I51e72ccf83a6b63792c17d6c65daca6571ef21bb
CRs-Fixed: 2341122
2018-10-29 18:21:02 -07:00
nshrivas
3cce0fd7b1 Release 5.2.0.103V
Release 5.2.0.103V

Change-Id: I1ee1ccbd812b4c0cccdd972fc3f9b69d05ef73f8
CRs-Fixed: 774533
2018-10-29 15:19:08 -07:00
Pragaspathi Thilagaraj
3cf0f65518 qcacld-3.0: Remove legacy cfg items
Remove legacy cfg items definitions and related macros for the
converged CFG items.

Change-Id: I12944f50d68dafe989417dda777f29a6233c97a4
CRs-Fixed: 2340856
2018-10-29 15:19:08 -07:00
Karthik Kantamneni
df8c1769f3 qcacld-3.0: Remove legacy RATES INI & CFG Items
Remove legacy code for RATES INI and CFG items.

Change-Id: I8b4c38742be3a056697a7bd2418fde3c54c079c8
CRs-Fixed: 2340781
2018-10-29 15:19:03 -07:00
nshrivas
1249147e68 Release 5.2.0.103U
Release 5.2.0.103U

Change-Id: I20b5fc5a51de4438faaaf2cec8ad8ba4ed4e3b33
CRs-Fixed: 774533
2018-10-29 13:49:33 -07:00
Arunk Khandavalli
f9957c0fcf qcacld-3.0: Add fiwmare down case in the pld pcie uevent
When the firmware crashes platform driver notifies the driver
through CNSS_FW_DOWN. Since firmware down support is not
present for the PCI bus, The driver flags for target ready
and recovery flags are not getting set resulting in the commands
sent to firmware.

Add the firmware down support for the pci bus.

Change-Id: I20db3698602ea273038a3f024b4e5f61639f6d74
CRs-Fixed: 2338570
2018-10-29 13:49:33 -07:00
nshrivas
94bffed046 Release 5.2.0.103T
Release 5.2.0.103T

Change-Id: I387e9f0df7d20267eb301b2ea7726546dd453ff7
CRs-Fixed: 774533
2018-10-29 12:18:39 -07:00
Pragaspathi Thilagaraj
cc823ae0cf qcacld-3.0: Fix OOB read in sme_rrm_process_beacon_report_req_ind
When beacon report request action frame is received,
rrm_process_beacon_report_req() is called and num_channels value
is calculated from the action frame directly from user. This
value is assigned to pSmeBcnReportReq->channelList.numChannels
and this num channels value along with the channel list is
posted to sme for further processing. The sme function
sme_rrm_process_beacon_report_req_ind() processes this sme
message eWNI_SME_BEACON_REPORT_REQ_IND. In this function,
the channels in channel list are looped through the received
value pBeaconReq->channelList.numChannels and is copied to the
destination pSmeRrmContext->channelList array from the
pBeaconReq->channelList.channelNumber[] array.
The maximum possible number of channels in channel list
BeaconReq->channelList.channelNumber[] allocated statically
in the definition of tSirChannelList is
SIR_ESE_MAX_MEAS_IE_REQS (8).
So when the pBeaconReq->channelList.numChannels, possible OOB
read occurs.

Validate the value of pBeaconReq->channelList.numChannels
received from the action frame against the maximum supported
number of channels in channel list SIR_ESE_MAX_MEAS_IE_REQS (8).
Place this validation inside the function
sme_rrm_process_beacon_report_req_ind() instead of validating it
at rrm_process_beacon_report_req() so that it defends from other
caller sme_set_ese_beacon_request() which is from user space
command through IOCTL.

Change-Id: I2074b04081328ceab7eeb29c33631a635e9d93c3
CRs-Fixed: 2335974
2018-10-29 12:18:39 -07:00