Commit Graph

12209 Commits

Author SHA1 Message Date
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
nshrivas
04c779f53b Release 5.2.0.103S
Release 5.2.0.103S

Change-Id: I432aa8386ac65edcf7bfa679f9123685810863f2
CRs-Fixed: 774533
2018-10-29 09:34:10 -07:00
Jeff Johnson
fc6480b100 qcacld-3.0: Refactor WE_SET_AMSDU processing
One of the HDD functions with the highest cyclomatic complexity is
__iw_setint_getnone(). The handing of WE_SET_AMSDU 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: I74bbc055c1587fff548512f4c7f325f75345eb95
CRs-Fixed: 2340147
2018-10-29 09:34:09 -07:00
Jeff Johnson
bd2c9916ae qcacld-3.0: Refactor WE_SET_VHT_RATE processing
One of the HDD functions with the highest cyclomatic complexity is
__iw_setint_getnone(). The handing of WE_SET_VHT_RATE 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: I07299bcc7e1cba7b5ceced3ba1cf22c470cb448e
CRs-Fixed: 2340146
2018-10-29 09:34:05 -07:00
Jeff Johnson
50b1588d8b qcacld-3.0: Refactor WE_SET_11N_RATE processing
One of the HDD functions with the highest cyclomatic complexity is
__iw_setint_getnone(). The handing of WE_SET_11N_RATE 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: Iea2ee6bc53a56bb92497d42ac057e6663bc07097
CRs-Fixed: 2340145
2018-10-29 09:34:02 -07:00
Jeff Johnson
71d8038cea qcacld-3.0: Refactor WE_SET_RTSCTS processing
One of the HDD functions with the highest cyclomatic complexity is
__iw_setint_getnone(). The handing of WE_SET_RTSCTS 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: I9f17824abe6ac9e60cc908c46661fe991ecfd9aa
CRs-Fixed: 2340144
2018-10-29 09:33:58 -07:00
Jeff Johnson
ce996b3e66 qcacld-3.0: Refactor WE_SET_SHORT_GI processing
One of the HDD functions with the highest cyclomatic complexity is
__iw_setint_getnone(). The handing of WE_SET_SHORT_GI 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: Ica2a50216c413985f05a2771641be439c6c9d8cd
CRs-Fixed: 2339229
2018-10-29 09:33:54 -07:00
Jeff Johnson
b6645852ca qcacld-3.0: Relocate hdd_set_rx_stbc() mac_handle test
hdd_set_rx_stbc() is called from both the STA and SAP ioctl
handlers. In the STA case the caller checks the mac_handle, but in the
SAP case the mac_handle is not checked. This could result in a bad
mac_handle being used in the SAP case. In order to cover both cases
relocate the mac_handle test to hdd_set_rx_stbc().

Note that this has the added benefit of reducing the cyclomatic
complexity of __iw_setint_getnone(), one of the HDD functions with the
highest complexity.

Change-Id: I9442a8a46da4066c8b4dafe2cf9ce64f608bb3a9
CRs-Fixed: 2339228
2018-10-29 09:33:51 -07:00
Jeff Johnson
57ff4fa1d2 qcacld-3.0: Relocate hdd_set_tx_stbc() mac_handle test
hdd_set_tx_stbc() is called from both the STA and SAP ioctl
handlers. In the STA case the caller checks the mac_handle, but in the
SAP case the mac_handle is not checked. This could result in a bad
mac_handle being used in the SAP case. In order to cover both cases
relocate the mac_handle test to hdd_set_tx_stbc().

Note that this has the added benefit of reducing the cyclomatic
complexity of __iw_setint_getnone(), one of the HDD functions with the
highest complexity.

Change-Id: Ie7a01ddbfb958ab87b7baf11e93d8a86c32744b7
CRs-Fixed: 2339227
2018-10-29 09:33:46 -07:00
Jeff Johnson
1ca04768ea qcacld-3.0: Relocate hdd_set_ldpc() mac_handle test
hdd_set_ldpc() is called from both the STA and SAP ioctl handlers. In
the STA case the caller checks the mac_handle, but in the SAP case the
mac_handle is not checked. This could result in a bad mac_handle being
used in the SAP case. In order to cover both cases relocate the
mac_handle test to hdd_set_ldpc().

Note that this has the added benefit of reducing the cyclomatic
complexity of __iw_setint_getnone(), one of the HDD functions with the
highest complexity.

Change-Id: I97827ee257c9e15e24468ed9800080375f082ff1
CRs-Fixed: 2339226
2018-10-29 09:33:42 -07:00
nshrivas
7d46de8b8a Release 5.2.0.103R
Release 5.2.0.103R

Change-Id: I7c24079aeb85dc9fdf629e401c8df394d84b27b0
CRs-Fixed: 774533
2018-10-29 04:39:42 -07:00
jitiphil
7af5cf252a qcacld-3.0: Open WLAN adapter in FTM mode after modules are started
According to the current code flow of con_mode_handler, the
WLAN modules are stopped, adapter is opened in FTM mode and then
the modules are started. Due to the INI/CFG value accces done as
part of opening the adapter, and since the modules are stopped
at this point, it results in a use after free scenario.

Modify code sequence of con_mode_handler to WLAN start modules
before opening the adapter in FTM mode.

Change-Id: I94afb9b2a3751247b4ae95e27b1374b25890a9d7
CRs-Fixed: 2339777
2018-10-29 04:39:42 -07:00
nshrivas
98ad588d41 Release 5.2.0.103Q
Release 5.2.0.103Q

Change-Id: Ia3bdde950b8d618601243ba7676ae0c1558bd9d8
CRs-Fixed: 774533
2018-10-29 03:11:40 -07:00
Nirav Shah
3422e03e10 qcacld-3.0: Compile hif_main_legacy file for non-lithium architecture
Compile hif_main_legacy file for non-lithium architecture and
disable FASTPATH for lithium architecture.

Change-Id: Idd8623612c057380e9bd9704be0538923f37be08
CRs-Fixed: 2332442
2018-10-29 03:11:40 -07:00
nshrivas
c9bc68f44c Release 5.2.0.103P
Release 5.2.0.103P

Change-Id: I9c19d450868171c45594335694bbb191263610d4
CRs-Fixed: 774533
2018-10-28 23:27:06 -07:00
chenguo
92af4bfb01 qcacld-3.0: Fix incorrect valid pointer checking
There is an incorret valid pointer checking after memory
allocation for monitor mode, which will cause net device up
failure. Fix this incorrect checking.

CRs-Fixed: 2338747
Change-Id: Ib1dd4d85ce7e7cace1167a082c103fb0300eb16a
2018-10-28 23:27:05 -07:00
Nirav Shah
fd85890917 qcacld-3.0: Enable FTM for Genoa debug build
Enable FTM for Genoa debug build.

Change-Id: If4ae643521e1afd87472ff4988ace19d8b3c47dd
CRs-Fixed: 2338695
2018-10-28 23:27:02 -07:00
nshrivas
9b471fda5e Release 5.2.0.103O
Release 5.2.0.103O

Change-Id: I7e6ab5d3f4a1f43e360ca42479d4bbe5369271cf
CRs-Fixed: 774533
2018-10-27 05:28:25 -07:00
Abhinav Kumar
e057b4188a qcacld-3.0: Remove legacy VHT INI & CFG Items
Remove the definition of following INI & CFG Items
for VHT caps which is common for HT and HE caps.

CFG_VHT_LDPC_CODING_CAP
CFG_VHT_SHORT_GI_80MHZ
CFG_VHT_SHORT_GI_160_AND_80_PLUS_80MHZ
CFG_VHT_TXSTBC
CFG_VHT_RXSTBC
CFG_VHT_RX_MCS_MAP
CFG_VHT_TX_MCS_MAP
CFG_VHT_BASIC_MCS_SET

Change-Id: I55390c3391a0be272c609030dae232d767111fcf
CRs-Fixed: 2333183
2018-10-27 05:28:24 -07:00
nshrivas
265f49c9ea Release 5.2.0.103N
Release 5.2.0.103N

Change-Id: I0cf24f50aad71bee53533bc048b6078545d5975c
CRs-Fixed: 774533
2018-10-27 02:32:32 -07:00
Kiran Kumar Lokere
b52cfc8309 qcacld-3.0: Send MU EDCA params after vdev up is sent to FW
FW expects the MU EDCA params after vdev up as it checks for
active vdev to save the MU EDCA params. Send the MU EDCA params
to FW after vdev up is sent to FW.

Change-Id: Ia7689f1bad884e73098020e5508f669d9b8881d7
CRs-Fixed: 2337827
2018-10-27 02:32:31 -07:00
Kiran Kumar Lokere
6f6a5688c9 qcacld-3.0: Fix issue with Nss setting status
Update Nss routine always returns failure status to user space.
Fix issue to send correct response to user space.

Change-Id: I12342ee531fc790b3042d8dcd8f5bb4b7a97e9fe
CRs-Fixed: 2340073
2018-10-27 02:32:27 -07:00
nshrivas
f2126639dc Release 5.2.0.103M
Release 5.2.0.103M

Change-Id: I2fcfdc4a85b154f082c6fa435cdb2d4accaf7480
CRs-Fixed: 774533
2018-10-27 00:11:33 -07:00
Abhishek Singh
13bf0ce6cd qcacld-3.0: Purge all serialization commands on csr stop
During csr stop, csr_roam_close_session try to purge all the pending
commands for the vdev. But as vdev is already logically deleted,
the cmds are not purged as the purge by vdev API fails to get the
vdev ref.

As in csr stop, driver clean up all the sme session so instead of
calling purge commands for vdev, call purge cmd for all the vdev.

Also the active command timeout for the delete vdev is 30 sec while
HDD waits for 15 sec. The active command timeout should be less
than the HDD timeout. Thus set active cmd timeout as 10 sec and
HDD timeout as 11 sec

Change-Id: I1d45de261c50f1835379a9cc1df4631f3e32f459
CRs-Fixed: 2339694
2018-10-27 00:11:32 -07:00
nshrivas
a7b55dd381 Release 5.2.0.103L
Release 5.2.0.103L

Change-Id: I8f0f4e2604d98c358cbead082ab54b04ec3f0255
CRs-Fixed: 774533
2018-10-26 22:37:36 -07:00
Jianmin Zhu
7a03c02b36 qcacld-3.0: Fix mem and timer leak when WMA_DELETE_BSS_REQ timeout
In wma_vdev_resp_timer(), while handling WMA_DELETE_BSS_REQ if
wma_crash_on_fw_timeout() is true, SSR is triggered, but timer
event_timeout isn't destroyed, wma_target_req, and user_data
isn't freed, result in timer and mem leak.

Change-Id: Ic47af43de671d195c6addd0360b96305af15d9bf
CRs-Fixed: 2337211
2018-10-26 22:37:36 -07:00