Commit Graph

15285 Commits

Author SHA1 Message Date
nshrivas
a0d59eb95f Release 5.2.0.147R
Release 5.2.0.147R

Change-Id: I7805e354b217c48002546121305aa06578cf6fac
CRs-Fixed: 774533
2019-09-13 18:54:16 -07:00
Tushnim Bhattacharyya
bb1285966a qcacld-3.0: Do not enable AMSDU Rx in ADD BA session for 2.4Ghz
Do not enable AMSDU Rx by advertising advertises AMSDUSUPPPORTED=0
in ADD_BA response if the connection is on 2.4Ghz.

Change-Id: I1c61ce9f3824a600fbd5123680b7d00ae7659438
CRs-Fixed: 2519746
2019-09-13 18:54:16 -07:00
Varuneshwar Petlozu
3a18e850f6 qcacld-3.0: Add VHT capability in the wiphy for 2.4ghz
Currently the driver is not included the VHT capability
on 2.4ghz band if gEnableVhtFor24GHzBand ini is enabled.
As a result the driver is not advertising the VHT support
on 2.4ghz band in wiphy per band info even gEnableVhtFor24GHzBand
ini is enabled.

To resolve this, add VHT capability in the wiphy for 2.4ghz

Change-Id: If36b0ad9bf546e54542485637a99c1ee82b1850e
CRs-Fixed: 2495337
2019-09-13 18:54:11 -07:00
nshrivas
85f95ef6d7 Release 5.2.0.147Q
Release 5.2.0.147Q

Change-Id: I8022bdca1fc9bdfb48a5dc6da6740d8ab92cbd8d
CRs-Fixed: 774533
2019-09-13 17:36:59 -07:00
nshrivas
2261c639e3 Release 5.2.0.147P
Release 5.2.0.147P

Change-Id: I3b139a15f4052e46ea17061261e2539997ab5461
CRs-Fixed: 774533
2019-09-13 05:57:21 -07:00
nshrivas
bbeb655bc8 Release 5.2.0.147O
Release 5.2.0.147O

Change-Id: I68447dd1788e13cf9659e82d595e34bd4eaea17c
CRs-Fixed: 774533
2019-09-13 04:33:17 -07:00
gaurank kathpalia
88f78ec8d8 qcacld-3.0: Change chan to freq in csr structures
Change chan to freq in csr structures for 6ghz

Change-Id: I6dc962175d95b202e647f55cfcb1f3d849fef6e2
CRs-Fixed: 2522212
2019-09-13 04:33:17 -07:00
Abhishek Singh
7a4d17a2de qcacld-3.0: Fix Vdev start failure handling in SAP and STA
Vdev start failure handling in SAP and STA and not handled
properly and thus VDEV SM doesn't move to INIT state and
lead to asserts.

Change-Id: I5ea09f9c6e84a2e1c7f9254319aaa1a11e2f97e8
CRs-Fixed: 2526179
2019-09-12 20:23:57 -07:00
nshrivas
c5d794568c Release 5.2.0.147N
Release 5.2.0.147N

Change-Id: I5615164754931657bd05b4078a79303b422e55ab
CRs-Fixed: 774533
2019-09-12 19:12:53 -07:00
Jianmin Zhu
9ab41552f9 qcacld-3.0: Fix host/target hirssi_upper_bound mismatch
On HST,  service bit wmi_service_hw_db2dbm_support is set, need
send target hirssi_upper_bound as RSSI format instead of SNR.

Change-Id: Ie9029e9c26f84456722ca2864a28c7ba3a2be52d
CRs-Fixed: 2485833
2019-09-12 19:12:52 -07:00
nshrivas
d49808d753 Release 5.2.0.147M
Release 5.2.0.147M

Change-Id: I0f59d9a46afaa8ac7be76046cea743af008f0123
CRs-Fixed: 774533
2019-09-12 08:43:05 -07:00
nshrivas
403e4fee99 Release 5.2.0.147L
Release 5.2.0.147L

Change-Id: I2fe357f7c58ddccb4114c01bb2148ed0073a5f22
CRs-Fixed: 774533
2019-09-12 07:30:14 -07:00
Li Feng
9a7ee6c492 qcacld-3.0: Assign third octet of country string field
Assign third octet of country string field as 0x04 to support MBO AP.

Change-Id: I639d713e05c9408915071d233bfd433d98606aff
CRs-Fixed: 2518536
2019-09-12 07:30:13 -07:00
nshrivas
62f9b196c7 Release 5.2.0.147K
Release 5.2.0.147K

Change-Id: Idf4ded050541fba9c260c9e2bfb43545897eb1e7
CRs-Fixed: 774533
2019-09-12 06:23:02 -07:00
nshrivas
5f3a9a84e3 Release 5.2.0.147J
Release 5.2.0.147J

Change-Id: I53c95a92b07ffb87797f9c2a2bb36b844ad45749
CRs-Fixed: 774533
2019-09-12 05:06:21 -07:00
Rakesh Pillai
70f1f541cb qcacld-3.0: Reduce loglevel for stats from timer context
Printing the tx queue stats on to the console in
the timer context causes a watchdog bark due to
excessive logging.

Reduce the log level for the stats dumping
from timer context.

CRs-Fixed: 2522067
Change-Id: Ic8162fabf552f6e5103427298229385d68dbbfbb
2019-09-12 05:06:21 -07:00
nshrivas
cb9e048af0 Release 5.2.0.147I
Release 5.2.0.147I

Change-Id: I9bfbc740bba809df21a0561d59d9680c5f10d529
CRs-Fixed: 774533
2019-09-12 01:46:10 -07:00
Kiran Kumar Lokere
e54ed6cdeb qcacld-3.0: Rename the vendor IE attributes
Rename the vendor IE attributes.

Change-Id: I952578efe9e23552eb57e9a902cc22641b6d7656
CRs-Fixed: 2525188
2019-09-12 01:46:10 -07:00
Alan Chen
35cb57c797 qcacld-3.0: Perform timing profiling after validating hdd_ctx
Pointer hdd_ctx returned from the call to function cds_get_context may be
NULL and will be dereferenced. Move the recording of timing of runtime
PM operations to after validation of hdd_ctx.

Change-Id: I5da02c3fdb695be25bf0b59f4fe33e599e751d03
CRs-Fixed: 2524971
2019-09-12 01:46:05 -07:00
nshrivas
4036af67cb Release 5.2.0.147H
Release 5.2.0.147H

Change-Id: I67090699d5d9332f0e13bfefebd9ab5127439372
CRs-Fixed: 774533
2019-09-11 01:32:48 -07:00
gaurank kathpalia
e5724cc36e qcacld-3.0: Prevent wlan suspend if conn in progress
Currently the driver does not check if the state
is key exchange in progress and suspends wlan
before set-key happens which further results in
FW also in wake up state.
This would result in delayed EAP exchange, and also
in power loss.

Scenario:-
1. Turn on STA and try to connect to enterprise network
2. Turn off display.

Here the display turn off would trigger APPS suspend
while the STA is trying to connect, and authenticate
and since there is no check in driver to prevent
suspend in set key in progress state, it would result
in a FW assert, as the expectation of FW is to allow
suspend only after set key has been done.

Fix is to prevent WLAN-suspend in case of connection
in progress, and allow suspend only in connected
and authenticated state.

Change-Id: Ic173116f7ba424005d938a43c75831a6a4dc874c
CRs-Fixed: 2512866
2019-09-11 01:32:48 -07:00
nshrivas
ac2b175b9b Release 5.2.0.147G
Release 5.2.0.147G

Change-Id: I7b6f2873a28eef956d2fc531265b2a750bc5e24d
CRs-Fixed: 774533
2019-09-10 12:22:53 -07:00
Alok Kumar
cdf1205941 qcacld-3.0: Fix buffer overflow in HTT MSG handling
If the firmware gets compromised, the values sent to
the driver could result in buffer overflows.

Validate HTT MSG "msg_word" to avoid buffer overflows.

Change-Id: I6073029f61a358da32bcc0dcfc339d9bb7ee8218
CRs-Fixed: 2213659
2019-09-10 12:22:52 -07:00
nshrivas
1a3e558678 Release 5.2.0.147F
Release 5.2.0.147F

Change-Id: I6a3fbcbd345ce8e3b663eadbf10b4ebaa1dd04b9
CRs-Fixed: 774533
2019-09-10 06:30:19 -07:00
Rakshith Suresh Patkar
a8405f50dd qcacld-3.0: Init mic work for QDF_FTM_MODE
Initialize mic work for QDF_FTM_MODE in
hdd_open_adapter to avoid touching uninitialized
lock in hdd_mic_flush_work as part of hdd_stop_adapter.

Change-Id: I280de93b2408acba4da363ecd292f811f6301d31
CRs-Fixed: 2523654
2019-09-10 06:30:18 -07:00
nshrivas
73a04e7d46 Release 5.2.0.147E
Release 5.2.0.147E

Change-Id: I90b3409d644b91159d8ea1bd263683b3e4bc1c9a
CRs-Fixed: 774533
2019-09-10 01:02:50 -07:00
Qun Zhang
1b3c85c2eb qcacld-3.0: Add INI to configure SIFS burst mode
To pass WFA 11N 4.2.25 case, it's needed to enable legacy mode
SIFS burst. So add INI to make SIFS burst mode configurable.

Change-Id: I740fe33a7ae0d9b558aa3b3aeee434f482ed24cb
CRs-Fixed: 2486171
2019-09-10 01:02:49 -07:00
Jianmin Zhu
9772c4a321 qcacld-3.0: Refactor sta add bss in wma and lim
Devide wma_add_bss_sta_mode into 4 functions for 4 cases:
1. wma_pre_assoc_req, called before sta assoc, config vdev
params.
2. wma_send_peer_assoc_req, called after sta associated, send
peer assoc cmd to F/W.
3. LFR3 add bss
4. LFR2 add bss and vdev start

Lim will call these functions directly instead of post msg to
wma.

Replace lim_set_link_state with wma_add_bss_peer_sta to create
peer for LFR2 roaming.

Clean up all link state usless code now.

Change-Id: I6ad19bb92e7b0334704ac9c930277e9c35abbee2
CRs-Fixed: 2510119
2019-09-10 01:02:43 -07:00
nshrivas
161ac8e19a Release 5.2.0.147D
Release 5.2.0.147D

Change-Id: I993afcff62d44ba94960111eb8f66209975786df
CRs-Fixed: 774533
2019-09-09 05:35:28 -07:00
Bala Venkatesh
235615809c qcacld-3.0: Reset the connection_in_progress flag in case of SSR
Currently, the connection_in_progress flag in hdd_ctx is not reset
as part of SSR this can lead to scan reject after SSR.

Change-Id: Icc7889eb3140f02dd100d05e812d5573ebcae63c
CRs-Fixed: 2516937
2019-09-09 05:35:17 -07:00
Jianmin Zhu
dd405695cd qcacld-3.0: Switch to target if vdev up
Switch legacy vdev up to vdev mgr/target if vdev up

Remove wakelock since it is handled in target if.
Clean up legacy vdev up API.

Change-Id: I125b202e9a18ee3bf279fe4df7bc17b9ec7bf999
CRs-Fixed: 2516586
2019-09-09 05:35:11 -07:00
nshrivas
4c16e61fea Release 5.2.0.147C
Release 5.2.0.147C

Change-Id: I33f1b4413f3740418f8a17909666e4ceb299db53
CRs-Fixed: 774533
2019-09-08 07:37:21 -07:00
Visweswara Tanuku
2e839e540c qcacld-3.0: Genoa: SDIO: Handle Tx Padding & Credits
In Genoa SDIO ADMA implementation Host sends packets to FW in
multiples of SDIO Block size.
If the packet/bundle is not block aligned Host adds padding at the
end of Packet/Bundle.

If the TX packet plus padding exceeds one FW TX Buffer, Padding data
will occupy the next FW TX buffer. Same applies for bundle TX packet.

For above scenario, HTC_FLAGS_PADDING_CHECK of HTC header Flags is used
to notify the FW that - Padding data follows the currentHTC packet

Since the padding data will take one extra FW Tx Buffer, host need to
handle the extra Tx credit being used by the padding data/buffer

CRs-Fixed: 2516619
Change-Id: Ie2d2292fabb30e1a13eebe4d11b57f452e42afa8
2019-09-08 07:37:21 -07:00
nshrivas
82415b1dcf Release 5.2.0.147B
Release 5.2.0.147B

Change-Id: I1c2bb21e1e1a53bf6908c01874309487c285dd77
CRs-Fixed: 774533
2019-09-08 02:24:10 -07:00
Abhishek Singh
989f8b8709 qcacld-3.0: Remove unused members of struct wma_txrx_node
Some struct wma_txrx_node members are not used so remove them.

Change-Id: I900a0898e448dfc363aad1d157de74557bb982f6
CRs-Fixed: 2523105
2019-09-08 02:24:09 -07:00
nshrivas
f71b03c282 Release 5.2.0.147A
Release 5.2.0.147A

Change-Id: Iae2c02885aa628c209bc948b69a1d63482b20a36
CRs-Fixed: 774533
2019-09-08 01:07:24 -07:00
Yu Ouyang
228afe9d1d qcacld-3.0: Fix ANI_AKM_TYPE_SAE undeclared issue
ANI_AKM_TYPE_SAE is defined only when WLAN_FEATURE_SAE defined.
But it is used without any checking in function lim_check_wpa_rsn_ie().
If WLAN_FEATURE_SAE is disabled, build error will occur.

It is easy to fix it to add '#ifdef WLAN_FEATURE_SAE' in function
lim_check_wpa_rsn_ie(). But coding rule, '#ifdef WLAN_FEATURE_SAE' isn't
allowed to occur in function. So, move '(*akm_type == ANI_AKM_TYPE_SAE)'
to function lim_check_sae_pmf_cap().

Change-Id: Id62bc69d770dbd4e470d8fa379b4cb3f7447d9dc
CRs-Fixed: 2508071
2019-09-08 01:07:24 -07:00
nshrivas
a1cf7896bf Release 5.2.0.147
Release 5.2.0.147

Change-Id: Id92f94cd67b60309fbb7fa25b22778b52a0301c0
CRs-Fixed: 774533
2019-09-07 23:44:35 -07:00
Jayachandran Sreekumaran
8785e2504b qcacld-3.0: Add sdio support for pld update status
Add pld update status api support for sdio

Change-Id: Id96bf8346989dfb2100bff7bd508a499570d2015
CRs-Fixed: 2512562
2019-09-07 23:44:34 -07:00
nshrivas
9a2e6e3c87 Release 5.2.0.146Z
Release 5.2.0.146Z

Change-Id: I9bb6abf7c76057d3cfd23ccc052e0c66b6d620fd
CRs-Fixed: 774533
2019-09-07 12:28:55 -07:00
Abhishek Singh
850476c541 qcacld-3.0: Cleanup unused vdev request hold framework
With vdev operations moved to target if from the wma, the vdev
request hold framework is not used.

Thus remove the unused functions and structures

Change-Id: I6e609735ad0bdc8b929cfffa6f13915f0ad6823d
CRs-Fixed: 2523104
2019-09-07 17:56:13 +05:30
nshrivas
6076eea137 Release 5.2.0.146Y
Release 5.2.0.146Y

Change-Id: I38e02cd4f8a608301de2eec6b5b13b17cc0a3e31
CRs-Fixed: 774533
2019-09-07 04:19:29 -07:00
Bala Venkatesh
ae665afe32 qcacld-3.0: Avoid null pointer access of vdev
In function hdd_softap_set_channel_change, vdev is passed to
function wlan_vdev_mlme_get_opmode without taking reference.
This can lead to NULL pointer access.

Change-Id: Ibbc58a1e7a4be0e0e34982b99541a63cd77e0480
CRs-Fixed: 2518560
2019-09-07 04:19:28 -07:00
nshrivas
c9d6029874 Release 5.2.0.146X
Release 5.2.0.146X

Change-Id: I9496bff35984b19c277200f783d395662dcde37a
CRs-Fixed: 774533
2019-09-06 22:24:52 -07:00
Rakshith Suresh Patkar
68ed495257 qcacld-3.0: Update vdev_id in hdd_rx_pkt_thread_enqueue_cbk
Local peer_id is being cleaned up across DP, HDD and PS/WMA.
So, any references to local peer_id/sta_id will be replaced
by peer mac address and all interactions between the layers
will be based on peer mac address.

This change invloves updating the vdev_id for the network buffer list
in hdd_rx_pkt_thread_enqueue_cbk for later use in
dp_rx_thread_process_nbufq.

Change-Id: Ibaf5c10a7fe77772d2eea2a10398e0116fdd0344
CRs-Fixed: 2522201
2019-09-06 22:24:52 -07:00
Rakshith Suresh Patkar
1a2bfd5e28 qcacld-3.0: Remove peer_local_id usage in dp_rx_thread_process_nbufq
Local peer_id is being cleaned up across DP, HDD and PS/WMA.
So, any references to local peer_id/sta_id will be replaced
by peer mac address and all interactions between the layers
will be based on peer mac address.

This change invloves removal of local_peer_id usage from
DP API dp_rx_thread_process_nbufq.

Change-Id: Ibfed421df3ace139808d16365ec5d54e9b013dfe
CRs-Fixed: 2512693
2019-09-06 22:24:47 -07:00
nshrivas
5423497ab3 Release 5.2.0.146W
Release 5.2.0.146W

Change-Id: Ifae61f7ff019f9b12669ff38509b31e9e4c931e5
CRs-Fixed: 774533
2019-09-06 20:26:36 -07:00
Srinivas Dasari
cc863f0b26 qcacld-3.0: Consider PMF capa of peer also for rmf frame processing
Cache the PMF capability of peer in peer_mlme_priv_obj while
adding bss for both station and AP modes. Process the mgmt frames
received from the peer as rmf frames only if the peer is of PMF
capable.
Move mlme_peer_object creation and deletion out of the define
CRYPTO_SET_KEY_CONVERGED to make it generic.
Remove the check where WEP bit is validated and modified based on
PMF capability of the peer. This is already taken care while
setting WEP bit in lim.

Change-Id: I0c93bb25db6a866e4c1793c9ba4c60773c0f019d
CRs-Fixed: 2520249
2019-09-06 20:26:35 -07:00
nshrivas
1756b27a7f Release 5.2.0.146V
Release 5.2.0.146V

Change-Id: I3f85762bba3dc6bfb00657640a4cd7cd3bca41bc
CRs-Fixed: 774533
2019-09-06 16:25:41 -07:00
Abhishek Singh
a25efe524d qcacld-3.0: Use static const initializers for IE array
The qcn and ese arrays are dynamically recreated on every call of the
functions sme_add_qcn_ie and csr_append_assoc_ies.

Change the initializers to static const to avoid dynamic recreation.

Change-Id: Ib3ae9a1b753c4dcfb6d8fd440050977253f3e720
CRs-Fixed: 2522716
2019-09-06 16:25:40 -07:00
nshrivas
19f63d2c3e Release 5.2.0.146U
Release 5.2.0.146U

Change-Id: Ie103e95f17fff6f1ebd44f79dd99169624934062
CRs-Fixed: 774533
2019-09-06 13:42:53 -07:00
Abhishek Singh
356781e02f qcacld-3.0: Use Vdev mlme target if for hidden ssid restart
Use Vdev mlme target if for hidden ssid restart.

Change-Id: I915f7911a1f3e01fd6579ed3e33d65bfe8a6c413
CRs-Fixed: 2522556
2019-09-06 13:42:52 -07:00
nshrivas
28845fbe87 Release 5.2.0.146T
Release 5.2.0.146T

Change-Id: I5d20b47cbfa7d7f7b37d72b1c8326c880cf6ce15
CRs-Fixed: 774533
2019-09-06 12:26:10 -07:00
Jianmin Zhu
b4203ad3dc qcacld-3.0: Switch to target if vdev start req
Populate vdev mlme in wma vdev start.
Call vdev mgr/target if vdev start API in wma vdev start.

Change-Id: Icbf82c8af320d0b2a19a72db94ad6abfa373b7e6
CRs-Fixed: 2516589
2019-09-06 12:26:09 -07:00
Jianmin Zhu
48ccbd05d0 qcacld-3.0: Don't fill vdev start req in wma rsp queue
Vdev start req timeout is moved to target if.
Req msg type can be got from vdev mlme instead of wma rsp queue
in vdev start rsp handler.

Set bss params into vdev mlme priv when start vdev with add bss.
then can get bss params from vdev mlme priv when handle start
vdev add bss rsp.

Free hidden ssid vdev req after vdev restart return, don't need
it when handle rsp.

Change-Id: I956fc5a9164d5961513dfa922aee27af28483807
CRs-Fixed: 2516587
2019-09-06 12:26:05 -07:00
Jianmin Zhu
7658df6386 qcacld-3.0: Refactor vdev resp handler
Add target_if vdev start resp handler: target_if->vdev_mgr->
	mlme legacy(wma->lim).

Replace channel switch parameter by vdev resp event

Wma call lim API directly, don't post message

Get add bss from vdev mlme obj priv data.

Change-Id: Iba8f70e22639e0ec9ec3db04e08b24655b2f0057
CRs-Fixed: 2516585
2019-09-06 12:26:00 -07:00
Jianmin Zhu
160d364672 qcacld-3.0: Refactor channel switch resp in lim
Use vdev_start_response to replace tpSwitchChannelParams
parameter in channel switch response handler.

Lim channel switch resp handler will be called directly, don't
use post msg.

Use vdev id to replace tpHalHiddenSsidVdevRestart in hidden
ssid response handler.

Change-Id: Ida0bfed3fea1cc0ff28ed15832765d446296f3be
CRs-Fixed: 2516582
2019-09-06 12:25:55 -07:00
nshrivas
46eb188999 Release 5.2.0.146S
Release 5.2.0.146S

Change-Id: Ie3a0c0d57bab01cf0ecd0ce3a2d1fca1cb5044a1
CRs-Fixed: 774533
2019-09-06 07:40:13 -07:00
Abhishek Singh
74d06cf802 qcacld-3.0: Fix improper QCN IE length filled
While filling the QCN IE the IE length filled is 11 while actual
length is 8 and thus this lead to improper IE length in scan
additional ie while copying the default_scan_ies.

So fix the QCN IE length and add check for improper IE length check
while copying IE in scan additional ie.

Change-Id: I372af8c206d8f7ce0e93bc9c0fb14e222c6eb87e
CRs-Fixed: 2522208
2019-09-06 07:40:13 -07:00
nshrivas
5324ac644c Release 5.2.0.146R
Release 5.2.0.146R

Change-Id: I498e9416a749f9268e319b1157eb41fda4ff628f
CRs-Fixed: 774533
2019-09-06 06:22:58 -07:00
nshrivas
090a1baba6 Release 5.2.0.146Q
Release 5.2.0.146Q

Change-Id: Id0a3c7da0125dbe794b1b6b5576bdc5fd60f6c9c
CRs-Fixed: 774533
2019-09-06 00:46:07 -07:00
Abhishek Ambure
968f1515a5 qcacld-3.0: Clean up struct del_bss_params
As a part of vdev convergence, legacy vdev code for vdev delete/stop/
down is removed. WMA timer for vdev manager operations are deleted,
now target_if takes care of it.

Structure del_bss_params is no more used to store bss delete request
params, hence struct del_bss_params is cleaned up from legacy code.

Change-Id: I487d2683908b705176ff8064dd3ce7cd49a3ce47
CRs-Fixed: 2517880
2019-09-06 00:46:06 -07:00
nshrivas
ecec9753d3 Release 5.2.0.146P
Release 5.2.0.146P

Change-Id: Ibbc807cf82d6d6bf3585319692a136fd1bbc08c0
CRs-Fixed: 774533
2019-09-04 22:23:52 -07:00
Alan Chen
0f29e974ec qcacld-3.0: Wait for PM freeze when turning wifi on
Add a wait for PM freeze when wifi is turning on to make sure file system
and QMI are still accessible before attempting to download the FW and
trigger a QMI handshake with FW.

Change-Id: Ia2f3dc28abb9cab4b5dd8038ea02ac016eb74bbb
CRs-Fixed: 2521009
2019-09-04 22:23:52 -07:00
Alan Chen
f8a46d501f qcacld-3.0: Change system power debugging time stamp to microseconds
Time stamp for profiling system level power issues is currently using
qdf_get_system_timestamp(), which measures in milliseconds. To get more
fine granular data, use qdf_get_log_timestamp_usecs() to measure in
microseconds instead.

Change-Id: I920d0ec7c90ab602cbdc0d1efdb6061d6a72c122
CRs-Fixed: 2520939
2019-09-04 22:23:48 -07:00
nshrivas
31271c8865 Release 5.2.0.146O
Release 5.2.0.146O

Change-Id: Ia6345d61dd8e1782ce5eef620cdb94e246eb3616
CRs-Fixed: 774533
2019-09-04 18:53:48 -07:00
Tushnim Bhattacharyya
42299b8780 qcacld-3.0: Replace channel with frequency in csr_channel
Replace channel ID with frequency in struct csr_channel.

Change-Id: Id86aacfd6dc9b0c65184bf046a7ee27b9c1fb5e5
CRs-Fixed: 2519204
2019-09-04 18:53:48 -07:00
Tushnim Bhattacharyya
1b11154a62 qcacld-3.0: Replace channel with frequency in csr_channel_powerinfo
Replace channel ID with frequency in struct csr_channel_powerinfo.

Change-Id: Ibe6bb41345f01f7898e91d75f2c5730d88e33717
CRs-Fixed: 2519117
2019-09-04 18:53:43 -07:00
Tushnim Bhattacharyya
d1d0db9db2 qcacld-3.0: Replace channel with frequency in wlan_mlme_reg
Replace channel ID with frequency in struct wlan_mlme_reg.

Change-Id: I71fcec5014e451cf912f187c79a1939d2d7e54ad
CRs-Fixed: 2518897
2019-09-04 18:53:38 -07:00
nshrivas
82f55edc88 Release 5.2.0.146N
Release 5.2.0.146N

Change-Id: I5b36335e3e8ad3be912d7d88be6431db3a6a1909
CRs-Fixed: 774533
2019-09-04 17:38:22 -07:00
Hangtian Zhu
39e2e21a83 qcacld-3.0: Use QCS40X instead of QCS405 in config files
Use QCS40X instead of QCS405 in config files. Kernel defconfig files for
QCS405 and QCS403 has been separated recently, and the arch has been
changed between these two chips. But all QCS related features and changes
in cld should all be included, so use CONFIG_ARCH_QCS40X to replace
CONFIG_ARCH_QCS405.

Change-Id: I6f0837bb3d3f1530aea5b2d4912741beb8c313bd
CRs-Fixed: 2519267
2019-09-04 17:38:18 -07:00
Alan Chen
d841bcca03 qcacld-3.0: Return -EAGAIN from idle shutdown if system is suspending
Return -EAGAIN from idle shutdown callback API if system suspend is
ongoing such that cnss driver does not turn off suspend the PCIe link
and psoc idle shutdown can be re-tried later.

Change-Id: If859abb70c18d03c2e73a8c589a4e138b98cb996
CRs-Fixed: 2518448
2019-09-04 17:38:14 -07:00
nshrivas
e1b50e5a80 Release 5.2.0.146M
Release 5.2.0.146M

Change-Id: I5e70d31721d6551b3aca9df3e41b04d5085bef05
CRs-Fixed: 774533
2019-09-04 16:22:54 -07:00
Kiran Kumar Lokere
89f01f0fac qcacld-3.0: Add support for VHT MCS 10&11
Add support to advertise the VHT MCS 10&11 support using vendor
specific IE to enable the MCS 10 and 11 support in VHT mode.

Change-Id: I2d197dcce20ab4aec617ca8a7f4a54b438fae635
CRs-Fixed: 2465662
2019-09-04 16:22:53 -07:00
nshrivas
e51d668c82 Release 5.2.0.146L
Release 5.2.0.146L

Change-Id: Id9510d567d4126c5c7d20da33afcb13a49832fa1
CRs-Fixed: 774533
2019-09-04 11:30:44 -07:00
tinlin
c5193671e4 qcacld-3.0: Possible null pointer dereference
In hdd_dis_connect_handler, roam_info is checked
for NULL in if(roam_info && roam_info->disconnect_ies),
but roam_info may be null pointer and is explicitly
dereferenced later. Add null pointer check before
it is dereferenced again.

Change-Id: I51f731323f01ddc657c57d20d8c63317400c92ab
CRs-Fixed: 2518450
2019-09-04 11:30:44 -07:00
Sourav Mohapatra
939e0744f7 qcacld-3.0: Add support to print reg db and bdf reg db version
FW sends regdb and bdf regdb version as a part of service ready event.
Extract the versions and populate it to HDD layer.

Change-Id: I2c9a40832361381c66a482d93ef5721fa7d6ffe4
CRs-Fixed: 2486984
2019-09-04 11:30:39 -07:00
Abhishek Ambure
bfcf12f03b qcacld-3.0: Release WLAN_LEGACY_WMA_ID ref before vdev del command
In legacy code WLAN_LEGACY_WMA_ID reference was released after
sending vdev delete command to firmware. Now with converged vdev
manager, if wmi service "wmi_service_sync_delete_cmds" is not enabled
then vdev delete response is sent to upper layer through target_if.

Hence WLAN_LEGACY_WMA_ID reference for vdev is released before sending
vdev delete command and then wma_txrx_node for the vdev is cleaned up.

Change-Id: I717a7911a5139dc5145e7702e831f6f026c8f3aa
CRs-Fixed: 2518231
2019-09-04 11:30:35 -07:00
Jingxiang Ge
13b87056d2 qcacld-3.0: Fix possibile excessive log in hdd_rx_packet_cbk
There is possible excessive log in hdd_rx_packet_cbk when
receiving arp pkt. so lower log level from info to debug.

Change-Id: If7fbe1f86e98ca22172f9b21205b7215c435988b
CRs-Fixed: 2511832
2019-09-03 15:58:49 +08:00
nshrivas
6ef89791cd Release 5.2.0.146K
Release 5.2.0.146K

Change-Id: I0e58f4e86e56b4f548ace2043ed8da2f5e459831
CRs-Fixed: 774533
2019-09-02 02:31:13 -07:00
tinlin
a8193944ec qcacld-3.0: Possible null pointer dereference
cds_cfg is assigned the return value from function
cds_get_ini_config. cds_cfg may be null pointer. Add
null pointer check before cds_cfg is
dereferenced.

Change-Id: I184c0a589fa660c5c49cd951986ad918cbc42bcd
CRs-Fixed: 2518433
2019-09-02 02:31:13 -07:00
nshrivas
cff99af254 Release 5.2.0.146J
Release 5.2.0.146J

Change-Id: I5d074d2ae25bb7fd19d7fb78a328dbe36fbf531e
CRs-Fixed: 774533
2019-08-31 04:26:39 -07:00
Alan Chen
abd1947c43 qcacld-3.0: Add timing profiling log for runtime PM operations
Add timing profiling log for runtime PM operations such that we can
know how much time each operation is taking.

Change-Id: Iad2aca8e8bb2f0dadc14d24e3a5c2b03938df9df
CRs-Fixed: 2518935
2019-08-31 04:26:38 -07:00
nshrivas
de9238b30e Release 5.2.0.146I
Release 5.2.0.146I

Change-Id: I93a27a66522740a747db6ad546b7046b09442948
CRs-Fixed: 774533
2019-08-31 02:13:01 -07:00
Tushnim Bhattacharyya
9f94d78a66 qcacld-3.0: Replace channel with frequency in csr_roamstart_bssparams
Replace channel ID with frequency in struct csr_roamstart_bssparams.

Change-Id: I826db5eea09fd7b5789c4907168d30186e5d5435
CRs-Fixed: 2518017
2019-08-31 02:13:01 -07:00
CNSS_WLAN Service
3685ef90af Merge "Release 5.2.0.146H" into wlan-cld3.driver.lnx.2.0 2019-08-30 16:24:09 -07:00
CNSS_WLAN Service
3fcb07f060 Merge "qcacld-3.0: Use frequency for channel operation" into wlan-cld3.driver.lnx.2.0 2019-08-30 16:24:07 -07:00
CNSS_WLAN Service
f824a5022b Merge "qcacld-3.0: Lower the TSF sync interval for SAP mode" into wlan-cld3.driver.lnx.2.0 2019-08-30 16:24:06 -07:00
CNSS_WLAN Service
c5a50d8973 Merge "Release 5.2.0.146G" into wlan-cld3.driver.lnx.2.0 2019-08-30 16:24:04 -07:00
nshrivas
64c96b1d5c Release 5.2.0.146H
Release 5.2.0.146H

Change-Id: Id261a63dcf0f6f893a9a40e709821493507075f3
CRs-Fixed: 774533
2019-08-30 16:02:56 -07:00
Rajeev Kumar Sirasanagandla
e796a60fd0 qcacld-3.0: Use frequency for channel operation
As a part of 802.11ax amendment, 6GHz band operation is added.

Since the 6 GHz channel numbers are overlapping with existing 2.4GHz
and 5GHz channel numbers, use frequency to identify unique channel
operation instead of channel number. Channel frequency is unique across
bands.

As a part of above requirement, in the existing WMI interface handlers
and related functions, wherever missing, add frequency attributes to
identify unique channel operation.

Change-Id: I3853d6e64e63eb219282afac4f56ccf398b0a04f
CRs-Fixed: 2517897
2019-08-30 16:02:55 -07:00
Subrat Dash
f75d3d3ecf qcacld-3.0: Lower the TSF sync interval for SAP mode
The TSF deviation is more than 100ns when the capture interval is 100sec.

Lower the interval to 1sec to keep the drift  within limit of 100us.

Change-Id: I2a6f7bf2d06d5d67854cbab6b582009f2cec39bf
CRs-Fixed: 2515981
2019-08-30 16:02:51 -07:00
CNSS_WLAN Service
f58f5d9e3f Merge "qcacld-3.0: check napi_gro_recevie result before do gro flush" into wlan-cld3.driver.lnx.2.0 2019-08-30 08:48:46 -07:00
nshrivas
7c0492af68 Release 5.2.0.146G
Release 5.2.0.146G

Change-Id: Ieb1726eed5a880032a955f15909e4984ae07d5f2
CRs-Fixed: 774533
2019-08-30 04:51:34 -07:00
nshrivas
65ad144099 Release 5.2.0.146F
Release 5.2.0.146F

Change-Id: I04040268e075945df3d2669ebd4e2af974766326
CRs-Fixed: 774533
2019-08-29 22:10:55 -07:00
Tushnim Bhattacharyya
c71d7d46c9 qcacld-3.0: Include wmi.h on the correct header file
Include wmi.h in wma header file.

Change-Id: I08d53ff111d2f0bc9f7a4046d27174cf3e3f8aa7
CRs-Fixed: 2514755
2019-08-29 22:10:55 -07:00
Jinwei Chen
c1dc5c788c qcacld-3.0: check napi_gro_recevie result before do gro flush
Check napi_gro_recevie result before do napi_gro_flush when bus
bandwidth is idle (<18 Mbps), only if napi_gro_recevie result is
not GRO_DROP and GRO_NORMAL then do napi_gro_flush for each RX packet.

Change-Id: I8cd75fb680ad4cb13f8d8677136f51c5a0548b6d
CRs-Fixed: 2515794
2019-08-29 18:30:47 -07:00
nshrivas
56d50cca34 Release 5.2.0.146E
Release 5.2.0.146E

Change-Id: I94e0752d7220eca7ee0ef19f6a966df4c00c250f
CRs-Fixed: 774533
2019-08-29 10:51:57 -07:00
Hangtian Zhu
cf89c86e62 qcacld-3.0: Fix compile issue when CONFIG_CP_STATS is not enabled
Fix compile issue when CONFIG_CP_STATS is not enabled.

Change-Id: Ib5dd1e7107a5bd49ee3d187e283b5580d19c6adf
CRs-Fixed: 2516551
2019-08-29 10:51:56 -07:00
nshrivas
dea5317128 Release 5.2.0.146D
Release 5.2.0.146D

Change-Id: I03f7f9d6637f23229d616cec6a88834b3f73dc7d
CRs-Fixed: 774533
2019-08-29 07:45:45 -07:00
Lin Bai
8862bf7d81 Revert "qcacld-3.0: request firmware without userhelper"
This reverts change-id Ie40db69a24dc1e0b86f140ca1aad91bd3b10e95e.

The reverted changes was causing regression, that optional
firmware not loadable even it exists.

Change-Id: I02a45e9be635e4ce0787f0a24480e42129c59874
CRs-Fixed: 2516015
2019-08-29 07:45:45 -07:00
nshrivas
d36d4977e9 Release 5.2.0.146C
Release 5.2.0.146C

Change-Id: Ie8b2dd3aa78e093401e59ed2633da65c112fc8cf
CRs-Fixed: 774533
2019-08-29 04:33:52 -07:00
Nirav Shah
812a159948 qcacld-3.0: Fix return value of htt_rx_frag_pop_hl
Return number of msdus poped as return value for
htt_rx_frag_pop_hl to process fragmentation indication
correctly.

Change-Id: I104c04757aa8bfac5d6516b1455e1e0506b460a4
CRs-Fixed: 2419759
2019-08-29 04:33:52 -07:00
nshrivas
372d62d1c6 Release 5.2.0.146B
Release 5.2.0.146B

Change-Id: I95c4bdb2b386afbf0cb46757df3765fcc9e83e4a
CRs-Fixed: 774533
2019-08-29 02:53:46 -07:00
gaurank kathpalia
11bc67c606 qcacld-3.0: Clear sap ctx channel list in undo acs
Currently the sap ctx's channel list is not freed
as part of undo acs, and hence can lead to mem leak
when the do acs and SSR is triggered in parallel.
Scenario:-
1. Turn on SAP
2. Do SSR in parallel
3. Unload WLAN

Fix is to clear the channel list as part of undo
acs.

Change-Id: Ie8dcace1d32aeec2621e785d793290d70c194f62
CRs-Fixed: 2511752
2019-08-29 02:53:46 -07:00
Jinwei Chen
0dc383e4e2 qcacld-3.0: refine low Tput GRO logic
a. when T-put < 18Mbps, do GRO/GRO flush for each RX packet.
b. when T-put can kept stable (18Mbps ~ 60 Mbps) last >= 1 second ,
skip GRO flush logic.

Change-Id: Ic8075f10f72b479c6941d7ac12a71fd90f945094
CRs-Fixed: 2509672
2019-08-29 02:53:41 -07:00
nshrivas
5bd962786b Release 5.2.0.146A
Release 5.2.0.146A

Change-Id: I49d3f2fa96e0ac392a7ae076c440668b6e53151e
CRs-Fixed: 774533
2019-08-28 12:42:57 -07:00
Abhishek Ambure
532bf97191 qcacld-3.0: Refactor vdev delete code at wma layer
Before sending vdev delete command to target_if layer, attach vdev
delete params to wma_txrx_node's del_staself_req member in wma layer.
This helps while responding to vdev delete command in case wmi service
"wmi_service_sync_delete_cmds" is disabled.

VDEV delete command response is sent to upper layer even vdev_mlme
object is not found.

Change-Id: Idfd8b036ff1ea676dd3ad8be703512ff84f299b7
CRs-Fixed: 2510460
2019-08-28 12:42:57 -07:00
nshrivas
b96b544bde Release 5.2.0.146
Release 5.2.0.146

Change-Id: I85bbd95bc4cba3801331f81076204de64a0fc799
CRs-Fixed: 774533
2019-08-28 06:29:08 -07:00
gaurank kathpalia
821a5aea98 qcacld-3.0: Set max BW for each valid channel and send to FW
Configuration for Issue:-
DUT configuration:-
1. Configure DUT's country as US where channel 165 does
not support channel bandwidth of 40 mhz.
AP Configuration:-
1 Configure the AP in a country where channel 165
supports channel bandwidth 40MHZ.

Scenario of the issue:-
1.Connect to a diff AP on some channel x with same SSID,
and then roam to this AP.

Observation:-
The DUT would connect in 40 mhz to this AP instead of 20Mhz,
which violates the DUT's country reg rules.

Expectation:-
The DUT should re-connect only in 20Mhz on channel 165, or
only in max BW supported by reg in that country.

Issue:-
The DUT does not consider the max bandwidth allowed for the channel
in the country configured, and allow the re-association only
in the respective bandwidth.

Fix:-
Send the max BW supported by the channels in the current
reg domain to the FW so that it considers the max BW of the
channel and AP capability and then roam in the respective BW
only.

Change-Id: I1730d6c65d3dd305dcf2ebe340c3d5ad950761d7
CRs-Fixed: 2504900
2019-08-28 06:29:08 -07:00
Bala Venkatesh
a5c1eb8b36 qcacld-3.0: Reduce the log level
Reduce the log level from err or info to debug so that logs
are not printed on console.

Change-Id: I0d33c2a8f5b4bb4974656ac0d1eb6713a74cb5f4
CRs-Fixed: 2516281
2019-08-28 06:29:04 -07:00
nshrivas
8e471835f6 Release 5.2.0.145Z
Release 5.2.0.145Z

Change-Id: I58a5547c1a4f61ab382490ecfeb0c3b8e61cba1f
CRs-Fixed: 774533
2019-08-27 12:22:15 -07:00
stonez
5f9a622e30 qcacld-3.0: Including MPTA helper and Coex configuration feature
MPTA helper and Coex configuration features are not included
after latest system compilation updating. Modify configure
file qcs40x.snoc.perf_defconfig to include them.

Change-Id: I8ecad6c84bd4ca2d8e1b69f0cea14b61b2545ca3
CRs-Fixed: 2511723
2019-08-27 12:22:14 -07:00
nshrivas
d1ac195bb2 Release 5.2.0.145Y
Release 5.2.0.145Y

Change-Id: I448d1fb9f5f23892f6a3d663cc9918055fc7f5d1
CRs-Fixed: 774533
2019-08-26 12:26:49 -07:00
Pragaspathi Thilagaraj
85df61f0dc qcacld-3.0: Fix roam scan mode send during RSO update config
As part of RSO update config, roam scan mode is set to 4 before
the WMI_ROAM_SCAN_RSSI_THRESHOLD command is sent to the firmware.
And after WMI_ROAM_SCAN_RSSI_THRESHOLD is sent, the roam scan
mode value is again set back to 7(value 7 enables RSSI scan and
periodic scan). There is a very small window between these two
commands where BMISS event is received and firmware forwards it
to the host which causes a disconnection.

Fix is to disable sending roam scan mode to 4 before sending the
WMI_ROAM_SCAN_RSSI_THRESHOLD command.

Change-Id: I2c22308d711e71e67d132a0bd121aed66497998b
CRs-Fixed: 2508762
2019-08-26 12:26:48 -07:00
Abhinav Kumar
18285936bc qcacld-3.0: Don't Issue disconnect on roaming timer expiry
Currently Host issue a disconnect and cleanup for current AP,
even if the offloaded roaming feature has started, but has not
completed for some reason. This results in connection loss with
the current AP.

Fix is to call abort event SIR_ROAMING_ABORT in case of roaming
offload timeout in order to maintain the connection with the
current AP.

Change-Id: I4168f8aeb7a759896a5d93e1918ce6542e61b37e
CRs-Fixed: 2508449
2019-08-26 12:26:44 -07:00
nshrivas
8be8632d42 Release 5.2.0.145X
Release 5.2.0.145X

Change-Id: I9cf2da452634fd7f57d4a8b893458435d93402a2
CRs-Fixed: 774533
2019-08-26 06:35:43 -07:00
Abhinav Kumar
364c0cb339 qcacld-3.0: Dont process SYNC IND if ROAM STOP cmd already posted to WMA
Currently, HOST sets discon_in_progress flag after posting
ROAM_SCAN_OFFLOAD_STOP command to WMA for a session. In case of
disconnection in HOST while roaming in FW if ROAM SYNC IND from fw comes
to host after posting ROAM_SCAN_OFFLOAD_STOP command to WMA, host start
processing SYNC IND and FW start processing ROAM_SCAN_OFFLOAD_STOP
which will cause to cleanup/disconnect with new AP to which it has just
roamed. After this cleanup fw will send HO_FAIL.

Now host as part of roam sync indication sends PEER_REORDER_QUEUE_SETUP
for the deleted peer which results in firmware assert.

Fix is to set discon_in_progress flag to true before posting
ROAM_SCAN_OFFLOAD_STOP command to WMA in order to ignore ROAM SYNC IND
and return status as failure to fw.

Change-Id: Id5c787d5489a6c0722b090951db388484f94f2e9
CRs-Fixed: 2505851
2019-08-26 06:35:42 -07:00
nshrivas
5fa71d2489 Release 5.2.0.145W
Release 5.2.0.145W

Change-Id: Id54ae1a1e0c7ea630902c4a0c16178af6aaf220e
CRs-Fixed: 774533
2019-08-26 02:22:33 -07:00
Ashish Kumar Dhanotiya
6176bef9d3 qcacld-3.0: Free cached channel list with restore channels
When driver receives the command to disable the channels
it maintains a list of the channels which are disabled.
During SAP stop, driver restores the disabled channels
but it is not freeing the cache list. Now when again the
command is issued to disable the channels, driver is not
processing this command as it still has the channels in its
cached list which were disabled during previous command.
This results into failure of current command and all the
subsequent commands to disable the channels until the
cache list is not cleared with set_disable_channel_list
command with empty channel list.

To address above issue, clear the cache channel list
as soon as driver restores the channels on stop bss.

Change-Id: I6b8c7ba250ef38b892ab83621add45fbfc09a2cd
CRs-fixed: 2496642
2019-08-26 02:22:32 -07:00
nshrivas
bf6258d77f Release 5.2.0.145V
Release 5.2.0.145V

Change-Id: I9a01ad9db6f9497ea9359599a74cdfd24fe9970d
CRs-Fixed: 774533
2019-08-26 00:26:46 -07:00
Ajit Pal Singh
407d6d84b8 qcacld-3.0: Deduct HTT credit from TXQ group also
In HL data path, when HTT credits are used outside the HL scheduler,
credits are getting deducted form target_tx credit only.
When CONFIG_FEATURE_HL_GROUP_CREDIT_FLOW_CONTROL is enabled, credits
should be deducted from TXQ group also.

Change-Id: Ice4160043fc1d812686f8ce7ee310110299d2276
CRs-Fixed: 2485819
2019-08-26 00:26:46 -07:00
nshrivas
5d4daa69a4 Release 5.2.0.145U
Release 5.2.0.145U

Change-Id: I7664833f794310b2150e00ce63b963674cf60552
CRs-Fixed: 774533
2019-08-25 06:23:33 -07:00
gaurank kathpalia
5ffac61a8a qcacld-3.0: Copy the sap channel list to acs cfg chan list
Copy the sap channel list that is obtained after filtering
the channel list from all the checks like SRD, DFS
to maintain the sync between the ACS module, and the sap
channel select logic.

Change-Id: I78a835f700ab34fa81b9b748e6ad28ca3b726650
CRs-Fixed: 2513628
2019-08-25 00:46:07 -07:00
nshrivas
19aa021ae3 Release 5.2.0.145T
Release 5.2.0.145T

Change-Id: I050c065e16118e510542ace9ce6d3d6fcc15117c
CRs-Fixed: 774533
2019-08-23 16:36:22 -07:00
Kiran Kumar Lokere
25b3bf24b8 qcacld-3.0: Dont update WMA PMF capability per peer
WMA interface PMF capability is vdev configuration hence do not
update the capability in WMA interface based on peer capability.

Change-Id: I08b39b9bc631321aa77aa1ab3bcbf1841bb3dda1
CRs-Fixed: 2504060
2019-08-23 16:36:22 -07:00
nshrivas
6e86b5daea Release 5.2.0.145S
Release 5.2.0.145S

Change-Id: I61cc64e4fb7b61c6f4f4fb04b62b1b8ea3d8280b
CRs-Fixed: 774533
2019-08-23 14:49:49 -07:00
Srinivas Dasari
05bc2c2396 qcacld-3.0: Correct the order of arguments to roam_triggers_to_sme
Vdev_id and ENABLE_ROAM_TRIGGERS_ALL are passed to
hdd_send_roam_triggers_to_sme in reverse order. Pass them in
correct the order.

Change-Id: I79d2a843ee9f237620d31dbf91e3c57750e66e88
CRs-Fixed: 2514476
2019-08-23 14:49:48 -07:00
nshrivas
03b3ab3b5f Release 5.2.0.145R
Release 5.2.0.145R

Change-Id: Ia85f76438e25cb452e2dccc1d5b4dd3b1270695f
CRs-Fixed: 774533
2019-08-23 12:31:18 -07:00
Abhishek Singh
5606ee0fca qcacld-3.0: Use vdev cmd resp timer from vdev target if
As part of vdev target if convergence the new vdev command
resp time are defined in target if layer.

So use the vdev timer values from target if.

Change-Id: Ib74f91331e4cb470233e678ded9159e17045467e
CRs-fixed: 2513794
2019-08-23 12:31:17 -07:00
nshrivas
3f776ef5e9 Release 5.2.0.145Q
Release 5.2.0.145Q

Change-Id: I2da89c76c3e38dbc866108bb4d308f75df4b9e73
CRs-Fixed: 774533
2019-08-23 10:14:59 -07:00
Rakshith Suresh Patkar
30bb8c17ea qcacld-3.0: Ignore invalid flush work call in hdd_mic_flush_work
As per current implementation, hdd_mic_flush_work makes a call
to qdf_flush_work irrespective of whether the work is initialized
or not.

Since flush_work() without INIT_WORK() is erroneous, ignore the call
to flush_work if work is not initialized.

Change-Id: Ib96439e1416188e643935a4ddaa13671d221c1e2
CRs-Fixed: 2514424
2019-08-23 10:14:59 -07:00
nshrivas
269efd2d67 Release 5.2.0.145P
Release 5.2.0.145P

Change-Id: I1b52384fe7241393b0a5a2732d42dd221d15034a
CRs-Fixed: 774533
2019-08-23 08:21:43 -07:00
Bala Venkatesh
b184b77697 qcacld-3.0: Do not set the broadcast sta id to invalid
Currently, as part of ndi_delete broadcast sta id is set
to invalid. But set this sta id to invalid as part of
ndi delete response from FW.

Change-Id: I4df843c4bce1c06b5c62cfd932b681e3320e5341
CRs-Fixed: 2513607
2019-08-23 08:21:43 -07:00
nshrivas
faa3022c58 Release 5.2.0.145O
Release 5.2.0.145O

Change-Id: I931f8fda8c5f2388b4f048b766b4a261b69fb043
CRs-Fixed: 774533
2019-08-23 06:27:01 -07:00
Abhishek Singh
9a243e8054 qcacld-3.0: Remove unused set link states and functions
Set link state is not used now so remove unused set link states
and functions.

Change-Id: Idb1a40922b8a27a18864d7047983d456cc05bffa
CRs-fixed: 2514158
2019-08-23 06:27:01 -07:00
Nirav Shah
4474439d4c qcacld-3.0: Reset CAC state if another AP is not on 5GHz
In case of DBS, two AP can operate on different band together.
Current logic of resetting CAC state in sap_clear_global_dfs_param
function assumes that if two APs are up state then it must be SCC
scenario and resulting in dropping of tx packets if stop follwed by
start operation is performed on AP on DFS channel.

This change reset CAC state as part of stop AP if another AP is
operating on 2.4GHz in case of DBS operation.

Change-Id: I3f71606bf610d45184a0fa81d2b9d9a6c11f72e8
CRs-Fixed: 2509808
2019-08-23 06:26:56 -07:00
nshrivas
6fe161e272 Release 5.2.0.145N
Release 5.2.0.145N

Change-Id: Iabc65b47ceaa364d1358ad3259c7599dc8708c09
CRs-Fixed: 774533
2019-08-23 03:48:36 -07:00
Srinivas Dasari
ac5312a188 qcacld-3.0: Validate the size of each frequecy sub attribute
QCA_ATTR_ROAM_CONTROL_SCAN_FREQ_LIST is a nested attribute which
carries frequencies as sub attributes. Validate the size of each
sub attribute to make sure it's of size uint32_t. Extract the
frequencies if all are of valid size. Return failure if an
invalid length attribute is found.

Change-Id: I1743c2dbef640b28b78504a548edbb70f4f29e49
CRs-Fixed: 2513822
2019-08-23 03:48:35 -07:00
bings
3d18e556d0 qcacld-3.0: Select dfs channel sap to handle radar event
If radar event is indicated in station vdev, it may be dropped by
station vdev since station does not support DFS master.

Select first sap vdev started in dfs channel to handle radar event.

Change-Id: I74229eb02c6ae6d81042df6b736d231db26253b5
CRs-Fixed: 2512836
2019-08-23 03:48:13 -07:00
nshrivas
b32ee5707a Release 5.2.0.145M
Release 5.2.0.145M

Change-Id: I1ec912f06b80819486e57361a97e612d809a45ed
CRs-Fixed: 774533
2019-08-23 01:43:14 -07:00
Srinivas Dasari
b5d9f3e106 qcacld-3.0: Send scan period received from vendor command to firmware
Scan period is configured through the DRIVER command
SETROAMSCANPERIOD currently. Add provision to set the same through
the roam subcmd and the attr QCA_ATTR_ROAM_CONTROL_SCAN_PERIOD

Change-Id: I3dd56f56ac8bc4ba48a88f8df292e9d4d5545fed
CRs-Fixed: 2509656
2019-08-23 01:43:13 -07:00
Nirav Shah
a7fa192dbd qcacld-3.0: Fix DHCP indication to FW feature for broadcast exchange
Use "client mac address" in bootp protocol to get
station id to handle scenarion when
DHCP exchanges(discover/offer/request/ack) happens
with broadcast address as destination address.

Change-Id: Ie233b2ffed1533f0a45fded199bb09649e48b4dd
CRs-Fixed: 2506023
2019-08-23 01:43:06 -07:00
Srinivas Dasari
a33fdd8376 qcacld-3.0: Send full roam scan period to userspace upon querying
Userspace may query for current configured full roam scan period
through the vendor cmd QCA_WLAN_VENDOR_ROAMING_SUBCMD_CONTROL_GET
and the attribute QCA_ATTR_ROAM_CONTROL_FULL_SCAN_PERIOD.
Fill the full scan period in the same attribute and send as reply

Change-Id: I0ab8b3d7b469515244ce27accc852c6d93514b2d
CRs-Fixed: 2508804
2019-08-23 01:43:00 -07:00
Srinivas Dasari
9ad9e25ed6 qcacld-3.0: Send roam control status to userspace upon querying
Userspace may configure and enable roam control and query for
the status. Add provision to send the same as vendor cmd reply

Change-Id: I7b82f85fa560c974eedc5115276bd87a84f9d3a0
CRs-Fixed: 2508802
2019-08-23 01:42:55 -07:00
nshrivas
2454638d42 Release 5.2.0.145L
Release 5.2.0.145L

Change-Id: Ifede718438805bf44e7926ec7d6964bd6749ddc7
CRs-Fixed: 774533
2019-08-22 20:14:06 -07:00
nshrivas
109938e4ea Release 5.2.0.145K
Release 5.2.0.145K

Change-Id: Id686a5d44389cb29d8b4b67d9470c935b7457f2b
CRs-Fixed: 774533
2019-08-22 16:21:40 -07:00
Alan Chen
91525f33ba qcacld-3.0: Move hif context assignment to right before its usage
When wifi is off, unnecessary error logs are printed. To avoid these logs
from printing, move hif context assignment to right before its usage.

Change-Id: Ie2313f796674885a7a518693a09877df4e6cb817
CRs-Fixed: 2513187
2019-08-22 16:21:40 -07:00
nshrivas
5be799467d Release 5.2.0.145J
Release 5.2.0.145J

Change-Id: If3d8795069e60fba2be1f9382ac5cf365f26dd79
CRs-Fixed: 774533
2019-08-22 12:35:10 -07:00
Abhishek Ambure
40972f18dd qcacld-3.0: Clean up set link code
Legacy code for set link is removed. Set link code is refactored.

Change-Id: I97c5fde76b8529d21c16c7650e32c91dffaae2f2
CRs-Fixed: 2513049
2019-08-22 12:35:09 -07:00
Abhinav Kumar
4f959589b8 qcacld-3.0: Convert channel to freq in tpAddBssParams structure
Topic: 6ghz_chan_to_freq

Convert channel to freq in tpAddBssParams and wma_vdev_start_req
structure to avoid duplicate channel numbers in 6ghz, and 2.4ghz
operation.

Change-Id: I8f657a566d1555efa07bf9155b84c37431c57f86
Crs-Fixed: 2511312
2019-08-22 12:34:54 -07:00
Srinivas Dasari
b6798ec303 qcacld-3.0: Restore the params upon roam control config disable
Userspace disables the roam control config once it's done with
the controlled roaming. Driver should restore the params changed
by roam control config enable and proceed with roaming as per
its default behavior.
Restore the below params which are getting modified as per
the current implementation,
1. Roam trigger bitmap
2. Scoring
3. Scan period
4. Full scan period

Change-Id: I1be699825bdd798f20a3432ebccb922ade67f89b
CRs-Fixed: 2508780
2019-08-22 12:34:47 -07:00
Srinivas Dasari
5fb8190eca qcacld-3.0: Enable/disable scoring based on vendor command
Userspace can disable/enable scoring for roam candidate
selection through roam subcmd and the attribute
QCA_ATTR_ROAM_CAND_SEL_CRITERIA_SCORE_ENABLE.

Firmware supports the below configurations currently,
1. Default selection criteria where all selection criteria
   are enabled and different weightages/scores are given to
   different criteria.
   This will be enabled when userspace doesn't specify any
   candidate selection criteria.
2. Legacy candidate selection criteria where scoring
   algorithm is disabled and only RSSI is considered for
   roam candidate selection.
   this will be enabled when userspace specify 100% weightage
   for RSSI.
Rest of the combinations are not supported for now.

Update the RSO config whenever scoring is enabled/disabled

Change-Id: Ibb787ef5433eebbdd3633748135ba6e314c931b6
CRs-Fixed: 2508778
2019-08-22 12:34:42 -07:00
Srinivas Dasari
391692d2da qcacld-3.0: Cache the status of roam control enable/disable in CSR
Userspace enables the roam control config and may query for it
later. In order to indicate the current status to userspace,
cache the same in struct sCsrNeighborRoamControlInfo

Change-Id: Ib535d6940df48305bda74a624604217d1f968861
CRs-Fixed: 2508777
2019-08-22 12:34:38 -07:00
Srinivas Dasari
f4e1b1208c qcacld-3.0: Send roam triggers from vendor cmd to firmware
Userspace can configure different roam triggers as defined
in qca_vendor_roam_triggers through the roam subcmd
QCA_WLAN_VENDOR_ROAMING_SUBCMD_CONTROL_SET and the
attribute QCA_ATTR_ROAM_CONTROL_TRIGGERS. Send the roam trigger
bitmap to firmware

Change-Id: I692110a2ae1ee5a35bb248b9138080a7dfb02cf6
CRs-Fixed: 2508776
2019-08-22 12:34:34 -07:00
Srinivas Dasari
0628e84a29 qcacld-3.0: Configure full scan period from vendor cmd to firmware
Userspace can update the full scan period through the roam subcmd
QCA_WLAN_VENDOR_ROAMING_SUBCMD_CONTROL_SET and the attribute
QCA_ATTR_ROAM_CONTROL_FULL_SCAN_PERIOD. Send the same to firmware
as part of roam scan offload command

Change-Id: I7c1046763d693faa3340b655848d3306ef92e06c
CRs-Fixed: 2508775
2019-08-22 12:34:29 -07:00
Abhishek Singh
0acd0c4df4 qcacld-3.0: Fill proper vdev id in add bss req bss_id
Add bss req bss_id vdev_id is not set to vdev id and thus if vdev start
fails, wma_remove_peer_on_add_bss_failure try to delete
peer from vdev id 0 instead of proper vdev_id.

Fix is to set proper vdev id to add bss req bss_id.

Change-Id: I9bbe7daf03fe2872d7026872e8dd7818840f9345
CRs-Fixed: 2513007
2019-08-22 12:34:25 -07:00
nshrivas
3b683d7c7e Release 5.2.0.145I
Release 5.2.0.145I

Change-Id: Ica7e9c15d8d7acf25ddc990fb184dce4ac342f84
CRs-Fixed: 774533
2019-08-22 08:45:36 -07:00
Srinivas Dasari
25d77b28e7 qcacld-3.0: Configure preferred freq list as dynamic chan list
Configure the preferred channel list received from vendor
roam subcmd command ROAMING_SUBCMD_CONTROL_SET as dynamic channel
list to firmware. Combine this channel list with the existing
occupied channel list and send to firmware. Flush this channel
list as part of csr_cleanup

Change-Id: Ibc45291f72844331096cb460257cab6f0b0095dc
CRs-Fixed: 2507159
2019-08-22 08:45:36 -07:00
Qun Zhang
3e96c89d1a qcacld-3.0: Update SAE frame session id to avoid using invalid id 0
In current SAE implementation, lim_process_sae_auth_frame() and
lim_process_sae_preauth_frame() all pass parameter session id 0
to lim_send_sme_mgmt_frame_ind(). In some test case, once vdev
id 0 is removed, hdd_indicate_mgmt_frame() can not get adapter
through vdev id 0, then SAE frame will not forward to supplicant.
Update SAE frame session id to make sure at least one adapter can
be found. Once adapter is available, __hdd_indicate_mgmt_frame()
can get the expected interface through destination mac address.

Change-Id: I3e8f430c4760448c6cc8dab9464979371de86118
CRs-Fixed: 2507342
2019-08-22 08:45:31 -07:00
Ashish Kumar Dhanotiya
cf3cf662ed qcacld-3.0: Free vdev from objmgr if vdev_create fails
When vdev create happens, objmgr creates vdev and stores
vdev_id into adapter, vdev_create message is posted to
scheduler thread and driver wait for the session_open_event
to be completed. Before this event completes if SSR
occures, session open event is forcefully set which leads
to the failure of vdev create. In current implementation
in case of force event set, driver returns without
destroying the vdev from objmgr which leads to vdev leak
in stop modules.

To resolve above issue, destroy vdev from objmgr in
case if vdev create fails.

Change-Id: Id0bbde0085d2b4d91b0590e3bb8a7798cd0ba0fa
CRs-fixed: 2505590
2019-08-22 08:45:27 -07:00
Wu Gao
efd73546c8 qcacld-3.0: Check peer phymode only if DUT is SAP/GO
Force set peer's phymode to the phymode of current interface if first
one big then second one, then TDLS link can't select more better
phymode when DUT support VHT mode and connect to 11A mode AP.

Change-Id: Idc72e04dcdf7ead3b52effc2c06862bc9dddd732
CRs-Fixed: 2512622
2019-08-22 08:45:22 -07:00
nshrivas
e2c0cd722c Release 5.2.0.145H
Release 5.2.0.145H

Change-Id: I94b65199261a92cf710fe89ecbb1e0f972755f50
CRs-Fixed: 774533
2019-08-22 07:31:12 -07:00
Vevek Venkatesan
e81bca8057 qcacld-3.0: cleanup IPA STA iface, if STA disconnect failed
If STA disconnect failed for any reason, cleanup IPA STA iface
if not already done.

Change-Id: I27ff33324bc4724e8470af9a0c434fa03e8aa5c3
CRs-Fixed: 2505563
2019-08-22 07:31:12 -07:00
nshrivas
6b5f63ea1d Release 5.2.0.145G
Release 5.2.0.145G

Change-Id: Ia201b376f29db6032aeb386757633b013a89fc85
CRs-Fixed: 774533
2019-08-22 04:23:50 -07:00
Vulupala Shashank Reddy
6d6f68d04b qcacld-3.0: Fix possible NULL pointer de-reference
Fix possible NULL pointer de-reference in functions
peer_unmap_timer_handler().

Change-Id: I2ec6af12b1f8232a247729fd658c2d51ff163405
CRs-Fixed: 2512610
2019-08-22 04:23:24 -07:00
nshrivas
769827b015 Release 5.2.0.145F
Release 5.2.0.145F

Change-Id: I1ba8f1f89fb006d4f697034b71ddbc6301b5e5b7
CRs-Fixed: 774533
2019-08-22 01:37:51 -07:00
hangtian
0f76fdfac0 qcacld-3.0: Set hidden_ssid when restart sap on another channel
Set hidden_ssid when restart sap on another channel, currently tested 2
methods to restart sap on another channel: 1, force-scc switch to station
channel; 2, iwpriv wlan1 setChanChange x. Both of them run into error
state: with hidden_ssid set in hostapd.conf: ignore_broadcast_ssid=1,
after channel switch, APUT reply broadcast probe request with it's SSID.
Copy pe session parameter: ssidHidden which stored user setting to next
channel vdev start.

Change-Id: I56580529e2b0db673c6b28c75094a7fd225cba77
CRs-Fixed: 2506214
2019-08-22 01:37:50 -07:00
Abhishek Ambure
2bd960b047 qcacld-3.0: Clean up del bss param structure
Unused members of delete bss params structure are removed
and structure is re-framed.

Change-Id: Ib2e7c72e0636765341792a79aa12968a84ed4879
CRs-Fixed: 2512877
2019-08-22 01:37:44 -07:00
nshrivas
dd19316e23 Release 5.2.0.145E
Release 5.2.0.145E

Change-Id: I7f190d8f7efb9f87ad6f6796a4beca26d96fe889
CRs-Fixed: 774533
2019-08-21 16:26:29 -07:00
Rajeev Kumar
f06009a8d2 qcacld-3.0: Allow system suspend to complete when wifi is off
When wifi is off wlan module is closed and hence allow cfg80211
suspend/resume to pass and return success to kernel.

Change-Id: Ic7d43a690c75be1254afa97f872d5c8228f93fcc
CRs-Fixed: 2512492
2019-08-21 16:26:29 -07:00
nshrivas
3c73e07780 Release 5.2.0.145D
Release 5.2.0.145D

Change-Id: I029f202c3270ff5a28a9328f6e4c7b39bf3b0ee3
CRs-Fixed: 774533
2019-08-21 10:10:23 -07:00
Sourav Mohapatra
ebcbae20cc qcacld-3.0: Declare hdd_roam_deregister_tdlssta as static
Currently the function hdd_roam_deregister_tdlssta is not declared
as static when the macro FEATURE_WLAN_TDLS is not defined. This can
cause a multiple definition error.

Declare the function as static so as to avoid this build time error.

Change-Id: Id85f8bed57a7bdfbeac5722ea687066f7f74a50f
CRs-Fixed: 2511744
2019-08-21 10:10:22 -07:00
nshrivas
b838eb76cf Release 5.2.0.145C
Release 5.2.0.145C

Change-Id: I3743f1adbcd410107c0b7d0dfd185157314f7d9b
CRs-Fixed: 774533
2019-08-21 05:29:55 -07:00
Srinivas Dasari
b78334d5ef qcacld-3.0: Cleanup roam scan channels configuration
Currently roam channel list is directly accessed from
mac->roam.neighborRoamInfo[sessionId].cfgParams.channelInfo
in multiple APIs to set/clear.
This needs to be enhanced as as firmware supports two channel
lists(static and dynamic) for roam scan, userspace may configure
both the lists. Cleanup the APIs to accommodate both of the
channel lists. Rename the variable channelInfo of cfgParams to
specific_chan_info to suit the usage.

Change-Id: I67548bc040c2296b75b9429f5891a5251a2a88d6
CRs-Fixed: 2507157
2019-08-21 05:29:55 -07:00
Abhishek Ambure
d75086a6f0 qcacld-3.0: Do not release start wakelock in vdev down
Legacy code releases vdev start wakelock after vdev down
command sent to firmware to overcome race condition. Target_if
common code takes care for wakelocks.

Hence, do not release start wakelock in legacy code.

Change-Id: I550ffb17e2e29f3b0bad618dc9ef9463a94800aa
CRs-Fixed: 2512151
2019-08-21 05:29:50 -07:00
Bala Venkatesh
42e07eac72 qcacld-3.0: Avoid NULL pointer access
In function wlan_hdd_set_sap_csa_reason, sap_ctx pointer is
dereferenced without NULL check.

Add NULL check to avoid null pointer access.

Change-Id: I74bbfdcae6d5a06d5eaf0cd66e3ff9c3380c6bb0
CRs-Fixed: 2512034
2019-08-21 05:29:46 -07:00
nshrivas
e368d10bf1 Release 5.2.0.145B
Release 5.2.0.145B

Change-Id: Ibd9a6b475733f52b68c6ff0b03d3273e274891b7
CRs-Fixed: 774533
2019-08-21 00:06:02 -07:00
Subrat Dash
b1e61b2083 qcacld-3.0: Add support for gpio based strobe to capture tsf
Add configuration for gpio pin used to send strobe to wlan hw.

The host driver will latch the current time and toggle the gpio
to generate a strobe to wlan hw.

The tsf will be latched on detecting the strobe and it will be
made available in a register for sw access.
The wlan fw will read this tsf and report it to driver using tsf event.

Change-Id: I4365d97d22836ddbbd2bf9913d4f723e5a870369
CRs-Fixed: 2495152
2019-08-21 00:06:01 -07:00
nshrivas
bcb1a96d5a Release 5.2.0.145A
Release 5.2.0.145A

Change-Id: I9ef4d261410d20fd30a2970f82be0c757ad31862
CRs-Fixed: 774533
2019-08-20 22:53:50 -07:00
Abhishek Singh
682cf6f843 qcacld-3.0: Fix WMI timeout for runtime PM
For runtime PM if the bus is suspended driver need to consider
extra 6 sec time for bus resume.
Thus add 6 sec extra in WMI timeouts if runtime PM is supported.

Change-Id: I5515cc889a0315382bac11a33ea6f901b7af1c46
CRs-Fixed: 2507029
2019-08-20 22:53:50 -07:00
nshrivas
35d3347505 Release 5.2.0.145
Release 5.2.0.145

Change-Id: I8b170cf2c62625d665c2d46e9cfc1215110f2ba5
CRs-Fixed: 774533
2019-08-20 20:26:36 -07:00
Alan Chen
3018129b66 qcacld-3.0: Complete the wait for event if register driver fails
Complete the wait for event if register driver fails during insmod.

Change-Id: I1855d7304b63a926e328c8713a317d6be2b22d0e
CRs-Fixed: 2512236
2019-08-20 20:26:35 -07:00
nshrivas
5ffad4d80a Release 5.2.0.144Z
Release 5.2.0.144Z

Change-Id: I3f620d95ad779919e44de7174ca946ae9cdf2b46
CRs-Fixed: 774533
2019-08-20 14:38:32 -07:00
Nirav Shah
7f37dbea19 qcacld-3.0: Fix DHCP indication to FW feature in SAP for HL
In case of HL, send tx completion bit in HTT tx descriptor
to receive tx completion from FW and disable DHCP indication
to FW properly.

Change-Id: Iff8e0c1f5d95c4f62af8b498552d92b57006969c
CRS-Fixed: 2506011
2019-08-20 14:38:32 -07:00
nshrivas
86f222418b Release 5.2.0.144Y
Release 5.2.0.144Y

Change-Id: Ica9a04135069bbdc5e1d62e0320c3a1ea1ba4f3a
CRs-Fixed: 774533
2019-08-20 05:19:34 -07:00
Jianmin Zhu
ef22819b7f qcacld-3.0: Refactor lim add bss rsp handler
Replace lim functions parameter struct scheduler_msg
with struct bss_params.
Internal functions don't need param struct scheduler_msg,
wma can call lim API: lim_handle_mlm_add_bss_rsp directly
instead of post msg.

Refactor struct bss_params memory free method.
whether success or fail when handle lim add bss rsp,
struct bss_params memory need free, it is simple and
clear to free only in one place: end of
lim_handle_mlm_add_bss_rsp.

Change-Id: I2d5d647a6949b1e0bdfbbe9a4dfb390a362a75ee
CRs-Fixed: 2508876
2019-08-20 05:19:33 -07:00
Lin Bai
96f6609e86 qcacld-3.0: Rename last_acs_channel_list to last_acs_freq_list
This member renamed by another change recently, and change here
accordingly to avoid compilation issue.

Change-Id: I65903cdb5255deca4b4a83daceec178790e76501
CRs-Fixed: 2505462
2019-08-20 05:19:28 -07:00
Pragaspathi Thilagaraj
1c17ee93f7 qcacld-3.0: Set correct op_flag in sme_set_del_pmkid_cache
Currently the host driver sets PMKSA op_flag for flush and
delete PMKSA entry as in both the cases PMK length is 0.
This is not correct because for delete PMKSA command only
the bssid and SSID will be sent to the firmware.
For the host driver to distinguish between del_pmksa and
flush pmksa, the is_flush_all flag should be used.
is_flush_all: true - Flush pmksa
is_flush_all: false - set/del pmksa based on the action flag.

Change-Id: I7eac65317a9c6904cfd08acce328a65df451269e
CRs-Fixed: 2503372
2019-08-20 05:19:22 -07:00
nshrivas
d384a3f3b8 Release 5.2.0.144X
Release 5.2.0.144X

Change-Id: I6e03041a83005cca927cda1f0e90e04a65365e24
CRs-Fixed: 774533
2019-08-20 03:59:24 -07:00
Rakshith Suresh Patkar
73654d0a34 qcacld-3.0: Cleanup ol_txrx_flush_cache_rx_queue [PEER_ID_PHASE1]
Cleanup ol_txrx_flush_cache_rx_queue to find peer
from peer_list instead of sta_id.

Change-Id: Ia737e732051f3cdad53b1a552eb273b8a05562aa
CRs-Fixed: 2508259
2019-08-20 03:59:24 -07:00
Sourav Mohapatra
efb49da46e qcacld-3.0: Clean up the usage of sta_to_adapter in HDD
The mapping of sta_id to the adapter in hdd context stores the adapter
with respect to the corresponding sta_id. Currently, the mapping is not
used anywhere in the driver even though the adapters are stored in it.

As there is no usage for the mapping, remove it as a part of sta_id
cleanup effort.

Change-Id: I26590a69e61d82f723a83eb3f9f24c42afa6c5a2
CRs-Fixed: 2511767
2019-08-20 03:59:20 -07:00
nshrivas
8f97145518 Release 5.2.0.144W
Release 5.2.0.144W

Change-Id: Idb8f04034b6a443df766f09b7fc139e50dadcb27
CRs-Fixed: 774533
2019-08-20 02:39:26 -07:00
Will Huang
c3fb27d117 qcacld-3.0: Make hdd_switch_sap_channel execute once at same time
The sap unsafe channel restart process include two subprocesses: CSA ie
update and channel switch, but CSA ie update request using
mac->sap.SapDfsInfo to save target channel switch parameters, which
would be overwritten by 2nd sap restart at same time. For example:
SAP1 on chan 1 and SAP2 on chan 36, then lte coex mark chan 1 and
chan 36 as unsafe channels, now SAP1 and SAP2 would switch to same
channel, but actually they can be on different channels doing DBS.

To fix it, one option is save the target channel switch parameters to
different session, but looks it may introduce a lot of code change,
because the logic is shared with DFS/concurrency. So the simple option
is making sap unsafe channel restart execute once at same time.

Change-Id: Ieaab3007fb6e79a9741f892e86771d2f52c03e3c
CRs-Fixed: 2504867
2019-08-20 02:39:21 -07:00
nshrivas
c2708a8d50 Release 5.2.0.144V
Release 5.2.0.144V

Change-Id: I5042da5df0edf21ebbd8cdef3e946d44192e27e8
CRs-Fixed: 774533
2019-08-19 09:37:14 -07:00
Abhishek Ambure
09905d743a qcacld-3.0: Refactor vdev stop/down code
Refactor vdev stop and down code to target_if common code.
Remove legacy code for vdev stop and down.

Change-Id: I4ab0743d39a3b37816ab9f18e8850cadf1335c15
CRs-Fixed: 2506649
2019-08-19 09:37:13 -07:00
nshrivas
9bb3305a94 Release 5.2.0.144U
Release 5.2.0.144U

Change-Id: I5f8c5ae6771a0da58a9fa5e20ed369acad552482
CRs-Fixed: 774533
2019-08-19 06:19:19 -07:00
wadesong
bf39868cae qcacld-3.0: Fix an improper parameter type casting
In function csr_check_concurrent_channel_overlap, local
variable intf_ch is defined as uint16_t, but its pointer
is casted to uint32_t * before invoking
policy_mgr_get_sap_mandatory_channel, which will do
32-bit memory write and causes a stack memory over-
writing.

Call Trace:
  dump_stack+0x46/0x59
  print_address_description+0x66/0x22b
  kasan_report+0x21f/0x245
  policy_mgr_get_sap_mandatory_channel+0x1fd/0x258 [wlan]
  csr_check_concurrent_channel_overlap+0xf84/0x10d2 [wlan]
  sme_check_concurrent_channel_overlap+0xaa/0xf0 [wlan]
  wlansap_check_cc_intf+0x102/0x124 [wlan]
  wlan_hdd_get_channel_for_sap_restart+0x506/0x8f8 [wlan]
  policy_mgr_check_sta_ap_concurrent_ch_intf+0x35e/0x425[wlan]
  process_one_work+0x2cc/0x53b
  worker_thread+0x357/0x490

Change the type of the 2nd parameter to uint16_t within
function policy_mgr_get_sap_mandatory_channel, so only
16-bit memory writing will take place.

Change-Id: If514a394e65d005a1fe025c0e753bf7440dd5dde
CRs-Fixed: 2508798
2019-08-19 06:19:15 -07:00
nshrivas
d0aad46178 Release 5.2.0.144T
Release 5.2.0.144T

Change-Id: I42435cd2333b10fca7d5e69883d4793df6a36386
CRs-Fixed: 774533
2019-08-19 02:10:46 -07:00
Wu Gao
b4944be672 qcacld-3.0: Call target_if_init after dispatcher_init
Direct buffer tx component initializes in target_if_init, which cause
platform assert since g_umac_glb_obj is NULL. So change the order to
avoid NULL pointer access.

Change-Id: I348775d08ccc478caef605c2ae8d1b6d65d77eb2
CRs-Fixed: 2497809
2019-08-19 02:10:46 -07:00
Nirav Shah
5db193fced qcacld-3.0: Featurize partial reorder properly
Avoid compiling ol_rx_reorder.c and ol_rx_reorder_timeout.c
for low latency and only compile for high latency
data path.

Change-Id: I1f3819fa093766abba87e5dc6dc44e6d2188740b
CRs-Fixed: 2506005
2019-08-19 02:10:41 -07:00
nshrivas
f0ff8b3c90 Release 5.2.0.144S
Release 5.2.0.144S

Change-Id: I0d0c4afe147756faf8b855aa72252f93776178fb
CRs-Fixed: 774533
2019-08-19 01:02:25 -07:00
Wu Gao
6c5a45bcc5 qcacld-3.0: Fix compilation issue about wma_init_dbr_params
In "Change-Id: I2896f7704ffb809214c5b08756c4b8673307fd9e", parameter
type of hif_get_hal_handle changed from void to hif_opaque_softc,
which cause compilation failure in wma_init_dbr_params.

Change-Id: Idbb591bb1ea1507661882fe48b18eaaffcac164d
CRs-Fixed: 2504894
2019-08-19 01:02:25 -07:00
nshrivas
ee31b3807a Release 5.2.0.144R
Release 5.2.0.144R

Change-Id: I49b401e224c10a4edd0f09199aa5d495890f0d12
CRs-Fixed: 774533
2019-08-18 23:44:57 -07:00
Jinwei Chen
c460236962 qcacld-3.0: support monitor mode enablement by changing driver mode
Support monitor mode enablement by changing driver mode, and also
remove the support that enable monitor mode with insmod parameter
"con_mode_monitor = 4", use "con_mode = 4" instead.

enable monitor mode steps for reference:
(1) change driver mode
   a. svc wifi disable
   b. echo 4 > /sys/module/wlan/parameters/con_mode
   c. ifconfig wlan0 up
   d. iwpriv wlan0 setMonChan 11 0

(2) insmod with kernal parameter way
   a. insmod /vendor/lib/modules/qca_cld3_wlan.ko con_mode=4
   b. ifconfig wlan0 up
   c. iwpriv wlan0 setMonChan 11 0

Change-Id: Ie615533d060261d545b3b92bea9916099ccccadd
CRs-Fixed: 2494158
2019-08-18 23:44:56 -07:00
nshrivas
7a4e739332 Release 5.2.0.144Q
Release 5.2.0.144Q

Change-Id: I1d08da1e1f4ec4ef19517034b44c4568498f5304
CRs-Fixed: 774533
2019-08-18 10:10:26 -07:00
Sourav Mohapatra
5ab5180d9e qcacld-3.0: Rectify possible scenario of double free
Presently in the driver, in function hdd_objmgr_create_and_store_vdev
the vdev object is created and stored. In case the creation of the vdev
fails due to some reason, the corresponding error condition tries to
free the osif_priv pointer. This osif_free pointer is actually already
freed as a part of vdev_obj_delete -> vdev_release_ref -> vdev_obj_free.
As this is already freed, a possible double free scenario can occur in
the original error handling scenario.

To avoid this scenario, do not free the osif_priv pointer in the error
handling as it is already taken care in the caller.

Change-Id: I7fc7be187ce1e303c81da885a75c600a7b6c4b3e
CRs-Fixed: 2507432
2019-08-18 10:10:25 -07:00
nshrivas
fb1f91d2f9 Release 5.2.0.144P
Release 5.2.0.144P

Change-Id: I6a732c294e84d0332b046d1ea07d8891d8b44c6c
CRs-Fixed: 774533
2019-08-18 08:20:30 -07:00
nshrivas
2ee792e7fa Release 5.2.0.144O
Release 5.2.0.144O

Change-Id: Iac2ad41535316152e4d022f6c378d099aaa2fad7
CRs-Fixed: 774533
2019-08-18 06:21:33 -07:00
Srinivas Dasari
0cc6437fa1 qcacld-3.0: Rename the values of qca_wlan_vendor_roaming_subcmd
enum qca_wlan_vendor_roaming_subcmd contains different values of
subcmds to be used with QCA_WLAN_VENDOR_ATTR_ROAMING_SUBCMD and
these are not attributes.
Values of the enum qca_wlan_vendor_roaming_subcmd have been
renamed according to usage and relevant documentation is added
in qca-vendor.h. Make corresponding changes in usage to avoid
compilation errors.
Use right max index(QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_MAX) while
parsing for PARAM_LIST_SSID. This caused compilation error as the
inappropriate max index(QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_MAX)
is used for parsing which has been deleted now.

Change-Id: Ifc063b801ba2729e8cff1581ef63e78e1d36a32d
CRs-Fixed: 2508196
2019-08-18 06:21:32 -07:00
nshrivas
4413e54112 Release 5.2.0.144N
Release 5.2.0.144N

Change-Id: I60df6816eec79fbc4e96439d29469ab4094e8237
CRs-Fixed: 774533
2019-08-17 10:53:43 -07:00
Sourav Mohapatra
5d22fbd743 qcacld-3.0: Refactor HDD for changes in cdp_fc_get_tx_resource
Currently, the API cdp_fc_get_tx_resource  takes as input the sta_id. As a
part of cleaning up the usage of sta_id, replace it by peer mac address.

Change-Id: I7b81a05d312da84aa16c82f0f6152710daf986c5
CRs-Fixed: 2507274
2019-08-17 10:53:42 -07:00
Rakshith Suresh Patkar
6ff56da568 qcacld-3.0: Cleanup ol_txrx_get_tx_resource[PEER_ID_PHASE1]
Cleanup ol_txrx_get_tx_resource to be peer mac address based
from local peer id based.

Change-Id: Id7ac4b5152c782d3475d9fad59f8f835102483cc
CRs-Fixed: 2508132
2019-08-17 10:53:38 -07:00
nshrivas
f018ae60d7 Release 5.2.0.144M
Release 5.2.0.144M

Change-Id: I41d2dc55dffe91211d058bde7709213b8a9031db
CRs-Fixed: 774533
2019-08-16 22:21:36 -07:00
Alan Chen
6ccc4fa788 qcacld-3.0: Sync runtime pm resume when system suspend occurs
Some system suspend commands are getting sent to firmware while
runtime resume is in progress. Sync runtime pm resume when system
suspend occurs to avoid this.

Change-Id: I6e652104e984b81e29a5f328fcf3937502a8f47f
CRs-Fixed: 2509910
2019-08-16 22:21:36 -07:00
nshrivas
8fd84758e7 Release 5.2.0.144L
Release 5.2.0.144L

Change-Id: I1799cbf900b786153e151e0b1f471375fd32b65e
CRs-Fixed: 774533
2019-08-16 18:32:45 -07:00
Rakesh Pillai
79afaed56e qcacld-3.0: Destroy NUD tracking work only for STA mode
Currently the NUD tracking is done only for STA mode.
For all the adapters the NUD tracking work is not
created and hence should not be destroyed when the
adapter is cleaned up.

Destroy the NUD tracking work only for the STA adapter.

CRs-Fixed: 2505365
Change-Id: I677a07cb37e2d547e62b7ffebf6d014255a9d237
2019-08-16 18:32:44 -07:00
nshrivas
076a3031f9 Release 5.2.0.144K
Release 5.2.0.144K

Change-Id: I0ba188ac6f90cc4e8ff0bf9955efd491927e193d
CRs-Fixed: 774533
2019-08-16 10:48:32 -07:00
Yeshwanth Sriram Guntuka
f33e2fe57c qcacld-3.0: Add debug print for beacon report meas mode
Add debug print to indicate the measurement mode for
beacon report request.

Change-Id: I7f61cd7f058ef0dcc4db425e685974cc3f53415a
CRs-Fixed: 2507593
2019-08-16 10:48:31 -07:00
nshrivas
037d8093e7 Release 5.2.0.144J
Release 5.2.0.144J

Change-Id: I72208d5efcf08964b44864274b33777f7c61024a
CRs-Fixed: 774533
2019-08-16 08:22:42 -07:00
Chaoli Zhou
74af4177a8 qcacld-3.0: Add packet drop status
In the current wlanhost driver dump status, it doesn't
support to count the dropped packets seperately that
due to firmware don't have enough tx descriptors, so
add such function which can benefit KPI tune.

Change-Id: I1a72acbc4f1f861c2013a1ef1a95b73acccd6b53
CRs-Fixed: 2507410
2019-08-16 08:22:41 -07:00
gaurank kathpalia
69f052b95b qcacld-3.0: Avoid channel 12, 13 for SAP operation
Currently the driver selects channel 12, 13 as they are
free from BSS as their weights are minimum, which results
into IOT issues as legacy STAs do not support the same.

Fix is to avoid channel 12, 13 in SAP ACS process, and try
to start the SAP on channels from 1 - 11.

Change-Id: If735fade7d7b489b45a20f74c04bab5582343f79
CRs-Fixed: 2509791
2019-08-16 08:22:37 -07:00
Jingxiang Ge
ae80dc665c qcacld-3.0: Remove channel and rename freq in hdd_connection_info
Convert channel to freq in hdd_connection_info, so
remove unused 'channel' and rename 'freq' to 'chan_freq'.

Change-Id: I0d3fd39f9ac3c2303729b27b7c97385097c82104
CRs-Fixed: 2508791
2019-08-16 08:22:33 -07:00
nshrivas
4d09b7f83e Release 5.2.0.144I
Release 5.2.0.144I

Change-Id: I49feb1453a8f92faef735178566d6411f1ebeae3
CRs-Fixed: 774533
2019-08-16 04:13:35 -07:00
Liangwei Dong
d8ecec378d qcacld-3.0: Add INI for P2P GO force SCC
1. Add g_enable_go_force_scc INI configuration
to enable force SCC on P2P GO interface.
This option only takes effect when
gWlanMccToSccSwitchMode INI enabled.
2. Add API policy_mgr_is_go_allow_force_scc to get
the above configuration value for GO.
Driver will apply "MCC to SCC" logic to P2P GO
interface based on STA active status and the configurated
INI values.

Change-Id: I1d16368b5f2d88984b91ef0a3e882148c20dcd23
CRs-Fixed: 2509555
2019-08-16 04:13:34 -07:00
nshrivas
823c5596fd Release 5.2.0.144H
Release 5.2.0.144H

Change-Id: I5dafbd82e825ad33a51d7e42421cd0d015ddcc26
CRs-Fixed: 774533
2019-08-16 02:57:49 -07:00
Liangwei Dong
11019a0eb1 qcacld-3.0: Restart SAP when sta disconnected
In AP+STA case, if g_sta_sap_scc_on_lte_coex_chan != 0,
SAP is allowed SCC with STA on unsafe channel. And
if g_sta_sap_scc_on_dfs_chan != 0, SAP is allowed
SCC with STA on DFS channel.
But when the STA disconnected, standalone SAP is not allowed
on unsafe channel or DFS channel. We need to move
the SAP to safe channel or non DFS channel.
The original API -
policy_mgr_is_sap_restart_required_after_sta_disconnect
only handle AP+STA case. Change it to cover 3VIF
concurrency case - AP+AP+STA.

Change-Id: Iec4e750d8b3fda0cc52ac698ecaa9a274f935706
CRs-Fixed: 2509545
2019-08-16 02:57:48 -07:00
nshrivas
494b8241d7 Release 5.2.0.144G
Release 5.2.0.144G

Change-Id: I73932759bf7916e96423c4a303c2f6f13789778c
CRs-Fixed: 774533
2019-08-15 20:38:22 -07:00
Sourav Mohapatra
a93de1c382 qcacld-3.0: Refactor HDD according to cdp_peer_get_vdev_by_sta_id
Currently, cdp_peer_get_vdev_by_sta_id takes as input the sta_id. As a
part of cleaning up the usage of sta_id, replace it by peer mac address.

Change-Id: Ibb7f3489899ac3fda48ad5e54891cd2d7623c6c8
CRs-Fixed: 2507219
2019-08-15 20:38:15 -07:00
Rakshith Suresh Patkar
6a8802ff1a qcacld-3.0: Cleanup ol_txrx_get_vdev_by_peer_addr[PEER_ID_PHASE1]
Rename API ol_txrx_get_vdev_by_sta_id to ol_txrx_get_vdev_by_peer_addr
and cleanup ol_txrx_get_vdev_by_peer_addr to be peer mac address based
from local peer id based.

Change-Id: Ie3b8a1d97b5196e7306e5641cb894f31b8abe154
CRs-Fixed: 2504565
2019-08-15 20:38:09 -07:00
nshrivas
f37d3bb077 Release 5.2.0.144F
Release 5.2.0.144F

Change-Id: I185dd5ee4a4edc9d82454650cea78b2de6e8665f
CRs-Fixed: 774533
2019-08-15 12:28:34 -07:00
gaurank kathpalia
b4539e1cf1 qcacld-3.0: Check vdev state before ACS cb
Currently the driver calls the pre bss scan cb
which is used to calculate the weight to start
the SAP on best channel. This API depends upon
the SAP context pointer which is passed as a arg
to the scan module, which in turn returns the arg
as part of the scan cb. But it may happen that
the SAP was deleted before the scan cb was called.
In that case pre bss scan cb and weight calculation
does not matter to the driver as SAP in any case is
OFF. Here the sap context which was passed as an arg
to the ACS cb is used after free, and there is no way
currently to validate the pointer. But as part of scan
cb, the driver gets a vdev pointer, which would be in a
logically deleted state, if the stop adapter for SAP has
been done. Using this data, the driver can know the object
status, and then decide to continue with the weight calculation.

Fix is to try get vdev ref before the weight calculation algo
kicks in, and return if the reference cannot be taken to avoid
use after free for SAP-context.

Change-Id: Ib9c3bde4a36ee49efdadab3dc531991b8688f79e
CRs-Fixed: 2509249
2019-08-15 12:28:34 -07:00
nshrivas
6c6993dee6 Release 5.2.0.144E
Release 5.2.0.144E

Change-Id: Ic31f8a34c6c2c48e9c3e88446da4a85055733eeb
CRs-Fixed: 774533
2019-08-15 01:03:16 -07:00
hqu
54e6ba12b6 qcacld-3.0: Follow concurrent SAP switch channel in the same band
When lte channel avoidance event triggered, multiple SAP will choose
safe channel from pcl/acs combination and switch to the safe channel
one by one.

Actually when force SCC mode is enabled, if one SAP is the same band
as other concurrent SAP whose channel is already safe, it doesn't
need to choose safe channel from pcl/acs again, just needs to
follow concurrent SAP channel. Add code to implement this policy.

Change-Id: Icc9b2a53bb56915daeab8d94eceaaa64a660cb65
CRs-Fixed: 2500183
2019-08-15 01:03:16 -07:00
nshrivas
618100452b Release 5.2.0.144D
Release 5.2.0.144D

Change-Id: I585f08afe7b34f0fa09754686ec3737d6cac181c
CRs-Fixed: 774533
2019-08-14 21:31:26 -07:00
Jinwei Chen
b681a483ca qcacld-3.0: Skip GRO flush indication when T-put is low
To meet 11a/b/g TCP RX T-put KPI, disable GRO flush indication
when T-put is low.

Change-Id: I2932f9161631b082f8ffacb3c24a1cf609f28d35
CRs-Fixed: 2493829
2019-08-14 21:31:25 -07:00
nshrivas
38ce3e2868 Release 5.2.0.144C
Release 5.2.0.144C

Change-Id: Ie08e39a11a426b40c090dd6cdadb6b49770f90ae
CRs-Fixed: 774533
2019-08-14 17:01:56 -07:00
Alan Chen
34250b7fe7 qcacld-3.0: Add vdev start, stop, and set-key wakelock for runtime PM
There is only vdev start, stop, and set-key wakelocks for system suspend
as of now. Add vdev start, stop, and set-key wakelocks for runtime PM
also.

Change-Id: Ic071bcfb112ae8861a446298677d190484f0c01b
CRs-Fixed: 2507852
2019-08-14 17:01:55 -07:00
nshrivas
5a56c082b3 Release 5.2.0.144B
Release 5.2.0.144B

Change-Id: Ice1173284b5fe3d800ed6ebed3d49924007cc8e0
CRs-Fixed: 774533
2019-08-14 15:43:09 -07:00
Abhishek Ambure
8c1d2a403b qcacld-3.0: Rename WLAN_SER_CMD_DEL_STA_SESSION macro
As a part of vdev manager conversion, vdev delete code is
refactored. Legacy code and naming is removed. In vdev manager
operations, STA_SESSION is addressed as VDEV.

Hence WLAN_SER_CMD_DEL_STA_SESSION macro is renamed to
WLAN_SER_CMD_VDEV_DELETE.

Change-Id: I34b0a34191bef1f279582178f25b9b20b33e709e
CRs-Fixed: 2508150
2019-08-14 15:43:08 -07:00
Pragaspathi Thilagaraj
af84059e8d qcacld-3.0: Add NULL pointer validation on pmkid received
In wlan_hdd_extauth_copy_pmkid(), pmkid received from userspace
could be NULL. Currently there is no validation for the PMKID.

Add check to validate the received PMKID before copy.

Change-Id: I756458562bf20226a202a5ecdbbe9e79884169c7
CRs-Fixed: 2508935
2019-08-14 15:43:02 -07:00
nshrivas
29bfc8af7a Release 5.2.0.144A
Release 5.2.0.144A

Change-Id: Ibe9aa3c13d4a355e758dff462b13f5fb3f866b68
CRs-Fixed: 774533
2019-08-14 14:30:08 -07:00
Liangwei Dong
86ff710471 qcacld-3.0: Handle channel switch in SAP+SAP SCC
SAP1 chan6, SAP2 chan6, LTE channel avoidance event marks
chan6 unsafe, driver will do channel switch for SAP1 and SAP2 to
safe chan 1.
In the middle of channel switch of SAP1, policy_mgr_allow_concurrency
disallows the channel switch request because new SAP1 channel 1
will cause MCC with existing SAP2 (channel 6) and firmware
doesn't support MCC for dual-beacon entities on same band.
This change removes all the SAP entry on the old channel
before do concurrency check for SAP channel change request.

Change-Id: Ic2c828a3fec4cbe2f11d4bedf471211bee442e9e
CRs-Fixed: 2491265
2019-08-14 14:30:07 -07:00
nshrivas
58b66f1959 Release 5.2.0.144
Release 5.2.0.144

Change-Id: I8ed1ee642fca693b12d49d6d0d7d04e23b493b81
CRs-Fixed: 774533
2019-08-14 05:42:42 -07:00
gaurank kathpalia
7ca94aead5 qcacld-3.0: Retain channel info from hostapd
Currently the driver modifies the channel list
which came from hostapd in trim channel list API
in case of concurrency present.
This would in turn prevent SAP to change channel
to a safe channel whenever a LTE-COEX event comes
as the acs channel list would contain only one channel
that would be the SAP channel itself.

Fix is to retain the info of channels which came from
the hostapd, and use this info to restart he SAP.

Change-Id: I9d43930d78f1eaedb01139a9ddc319b610d21862
CRs-Fixed: 2501400
2019-08-14 05:42:41 -07:00
nshrivas
dae6817208 Release 5.2.0.143Z
Release 5.2.0.143Z

Change-Id: I8b374729c4c7986d8b79cd792759a646f3a5fd5d
CRs-Fixed: 774533
2019-08-13 20:26:03 -07:00
Mohit Khanna
b9d7e4e20a qcacld-3.0: Reduce high throughput detection level
Currently the API hdd_is_current_high_throughput considers any
throughput level higher(or equal) than PLD_BUS_WIDTH_HIGH as high
throughput level. Based on this level, driver decides to take up RX
wakelock and log certain stats(TDLS). This can have an impact on power
even in HT20 modes.

Reduce the high throughput detection level to PLD_BUS_WIDTH_MEDIUM. So
throughput >= 60Mbps is considered high by the API.

Change-Id: I2225edc55568facf4b74a389b4a0a53845ea14ae
CRs-Fixed: 2495719
2019-08-13 20:26:02 -07:00
Mohit Khanna
ba8b3fe3a8 qcacld-3.0: Use different wait queues for threads
Currently DP RX threads are using the same wait_q for all operations.
The problem with this is that when there is traffic for only one
threads, we end up waking up other threads as well moementarily.
This wastes power and is in-efficient.

Use different wait queues for different threads.

CRs-Fixed: 2495719
Change-Id: I689659b7aa0ab93b7e2f009d2dc7fe741b66ee78
2019-08-13 20:25:57 -07:00
nshrivas
bced046373 Release 5.2.0.143Y
Release 5.2.0.143Y

Change-Id: I76b256662a14c5e1a2a735a967fe4f7867f71c7c
CRs-Fixed: 774533
2019-08-13 16:23:28 -07:00
Mohit Khanna
f0620ce6ca qcacld-3.0: Add support for GRO flush indications
Add support for sending GRO flush indication to DP Rx Thread.

CRs-Fixed: 2495719
Change-Id: I8723dc696d8af705067a50dcf5f161ef4f28d485
2019-08-13 16:23:28 -07:00