Commit Graph

17693 Commits

Author SHA1 Message Date
nshrivas
69bf2935c1 Release 5.2.0.155U
Release 5.2.0.155U

Change-Id: I479f4990d55f1e329431c2f33354dfa53aa310bd
CRs-Fixed: 774533
2019-11-05 11:03:58 -08:00
Tushnim Bhattacharyya
e189d07322 qcacld-3.0: Replace channel with frequency in csr
Replace channel ID with frequency in csr.

Change-Id: Ie45056a2153c0e59c393cbf432604033543906f1
CRs-Fixed: 2552053
2019-11-05 11:03:58 -08:00
nshrivas
4eaed322b6 Release 5.2.0.155T
Release 5.2.0.155T

Change-Id: I5000360ef539933170d714b8611cbe55ced12843
CRs-Fixed: 774533
2019-11-05 09:27:19 -08:00
Amruta Kulkarni
b4a567d28a qcacld-3.0: Code clean up in lim_send_ht40_obss_scanind()
Remove wlan_reg_freq_to_chan() reference in
function lim_send_ht40_obss_scanind()

Change-Id: I776500a9f127b0837f9c1eef65b381cd89845622
CRs-Fixed: 2556403
2019-11-05 09:27:18 -08:00
Abhinav Kumar
0ba7ed00e3 qcacld-3.0: Fix Race condition btw RSO stop and VDEV_SET_PARAM cmd to FW
Currently, RSO STOP is going through CSR to WMA via LIM but VDEV_SET_PARAM
is going directly CSR to WMA. This results VDEV_SET_PARAM got processed
first and host sends VDEV_SET_PARAM (disable roaming) before
11K_OFFLOAD_REPORT to fw. If FW try to disable roaming without disabling
11k offload, leads to assert in fw.

In order to avoid asset in fw, host should send RSO cmd command before
disabling roaming via VDEV_SET_PARAM cmd.

Fix is, like RSO STOP, send VDEV_SET_PARAM from CSR to WMA via LIM.

Change-Id: Idbb602b717f46f88426ef36a738efd456ac7af8b
CRs-Fixed: 2554449
2019-11-05 09:27:12 -08:00
Sourav Mohapatra
ffcaf378c7 qcacld-3.0: Avoid deadlock during suspend and resume
Presently in the driver, we get the MSI interrupt to wake up from
suspend which directs the call to the both kernel and driver. In the
driver, the HIF callback target_initial_wakeup_cb registered, gets
called in interrupt context while that through the kernel get scheduled
in thread context. These two call can potentially get into a deadlock.

The scenario can be described as:
	- MSI interrupt raised
	- callback invoked from kernel -> takes spinlock on psoc->lock
	- hif callback in interrupt context -> spins on the same psoc->lock
	- deadlock

The problem arises due to the fact that both the kernel thread and the
interrupt handler are executing on the same CPU. This causes the
spinlock in the interrupt context to spin forever.

The solution to mitigate this scenario is to not take the reference
inside the hif callback pmo_core_psoc_handle_initial_wake_up. This
reference was put in place to prevent the wake up callback from getting
affected by psoc creation and deletion. But there seems no need for this
as creation and deletion of psoc happens outside the time-scope of the
wake up callback.

Change-Id: I566ab08802ba3f38e154d26599c73d718ec74bfb
CRs-Fixed: 2556497
2019-11-05 09:27:06 -08:00
Nirav Shah
2b3843e027 qcacld-3.0: Make tx resource hi/low threshold configurable
Make tx resource hi/low threshold configurable through
config files and update hi threashold from 7.5% to 8%.

Change-Id: I2e52b7910caedf6e0af24242b79e1e9d42c6b85b
CRs-Fixed: 2548100
2019-11-05 09:26:45 -08:00
nshrivas
273ae92a4d Release 5.2.0.155S
Release 5.2.0.155S

Change-Id: I1ffbae7682bcba0cfa97169a8b7e0af6a450afc8
CRs-Fixed: 774533
2019-11-05 04:17:43 -08:00
Visweswara Tanuku
41d21c04e4 qcacld-3.0: Do not start motion detection if baselining is not done
Do not start motion detection if baselining is not done, or motion
detection config values are not available

CRs-Fixed: 2547648

Change-Id: I23a02dbd21e2b673e625938a35003f3730135327
2019-11-05 04:17:43 -08:00
tinlin
8d8fbcefa2 qcacld-3.0: Convert legacy channel usage
Modify the following API' code and parameters to make
sure it is using frequency instead of channel:

    csr_neighbor_roam_handoff_req_hdlr

Change-Id: I0af2bc8b3d59a6ca1bff83eff05364f9ac5b10db
CRs-Fixed: 2554953
2019-11-05 04:17:38 -08:00
nshrivas
c4a5d3ebd4 Release 5.2.0.155R
Release 5.2.0.155R

Change-Id: Ia8fa05afad217135e6451164e79e3659280e0948
CRs-Fixed: 774533
2019-11-05 02:12:29 -08:00
Visweswara Tanuku
a545b1d96a qcacld-3.0: Genoa: Do not send set_thermal_mgmt cmd
In Genoa, FW thermal throttling feature do not use cmd
set_thermal_mgmt
Do not send this cmd via iwpriv cmd - set_thermal_cfg

CRs-Fixed: 2555975

Change-Id: Ib8f430b230568627faecdf3da683a76786d7c8a1
2019-11-05 02:12:28 -08:00
Ashish Kumar Dhanotiya
94ffbd1079 qcacld-3.0: Remove cds_queue.h and queue.h from driver code
Currently MCL and WIN both have separate queue.h
files with the same declarations and definitions.
As part of cleanup single queue.h is created in cmn code,
use this newly created queue.h file instead of MCL
specific queue.h file.

Change-Id: I91619e5fff2040cb588cd0413cb42d5d7469f41f
CRs-fixed: 2505800
2019-11-05 02:12:22 -08:00
nshrivas
e276cba805 Release 5.2.0.155Q
Release 5.2.0.155Q

Change-Id: I96740bcfa9ca58a53afd374954fc968dde5711cb
CRs-Fixed: 774533
2019-11-04 00:19:55 -08:00
Wu Gao
882a1c94ff qcacld-3.0: Convert SME code legacy channel ID usage
Pass frequency to pcl_list of struct wmi_pcl_chan_weights directly.

Change-Id: I12cdbd37517098a73d6047288ab2c5eae71463cb
CRs-Fixed: 2554750
2019-11-04 00:19:55 -08:00
nshrivas
267ccdfb78 Release 5.2.0.155P
Release 5.2.0.155P

Change-Id: Icc3a76d1a5840d44f5181a4c8846007281a2412b
CRs-Fixed: 774533
2019-11-02 19:43:55 -07:00
Nirav Shah
d1fce91a9c qcacld-3.0: Increase value of AST skid limit for QCN7605
Increase value of AST skid limit for QCN7605 to avoid
peer create failure in FW in case of AST hash collision.

Change-Id: If931229d3b1458556a6e5c1023fb646b7274bedd
CRs-Fixed: 2517716
2019-11-02 19:43:54 -07:00
nshrivas
f44b5ac600 Release 5.2.0.155O
Release 5.2.0.155O

Change-Id: I0addb08c008f249d92226226095932ca39898589
CRs-Fixed: 774533
2019-11-02 12:25:39 -07:00
Sourav Mohapatra
e14c24792e qcacld-3.0: Use delete safe loop to remove sta info
Presently, in hdd_reset_all_adapters, the removal of the sta_info
structures via hdd_deregister_sta happens inside a loop that is not safe
for removal. This can cause various potential invalid memory access from
use-after-free to null-dereference.

To rectify this, use the delete safe API to loop over the sta info
entries.

Change-Id: I3d5526af8d8f819874f6bcffabf27ceb74f6f32a
CRs-Fixed: 2557364
2019-11-02 12:25:39 -07:00
Abhishek Singh
9fee518fe3 qcacld-3.0: Avoid calling wlan_hdd_set_mon_chan for STA mode
As part of Ie9ffc701d93ed1c050375dd56151b7a0da69cdce the STA mode
channel change was added in disconnected state for spectral scan
test at CV2X platform.

Now with iwpriv wlan0 setMonChan on STA mode, a monitor mode
pe_session is created in PE/LIM which take ref count with
WLAN_LEGACY_MAC_ID. As the interface is STA type this session
is not deleted when vdev is deleted. This lead to vdev ref leak.

This code is broken and is no longer in use and cause vdev
ref leak when executed. Thus revert
Ie9ffc701d93ed1c050375dd56151b7a0da69cdce.

Also move the lim session create to hdd_set_mon_rx_cb during
vdev create, as it is deleted during vdev delete.

Change-Id: Ib60aa2bd2746a8cd17f20efa7506c18784a42630
CRs-Fixed: 2557160
2019-11-02 12:25:34 -07:00
Sourav Mohapatra
32354389fb qcacld-3.0: Add NULL check for heap allocations
In function hdd_association_completion_handler, there are missing NULL
checks for couple of heap allocated variables. This can lead to
potential NULL pointer dereference.

Add NULL pointer sanity check.

Change-Id: I4343833b9e12da0012cfbff006bd8891e9bae025
CRs-Fixed: 2556755
2019-11-02 12:25:29 -07:00
nshrivas
84395d55b4 Release 5.2.0.155N
Release 5.2.0.155N

Change-Id: I1c2e870fbc1bf617f83f770a8d150a6f145e0fd6
CRs-Fixed: 774533
2019-11-02 05:19:59 -07:00
Paul Zhang
1ef2b7cd7f qcacld-3.0: Config latency level to fw after vdev creates
From android Q, it uses a random MAC to connect to different
SSIDs which causes the interface down/up, the vdev will be
deleted and the latency level info is lost in firmware.

To fix this, save the latency level and reconfig it to fw
after vdev creates.

Change-Id: Ifac93fb869553d0f9eb553d5c41da43c8b014ad8
CRs-Fixed: 2554736
2019-11-02 05:19:58 -07:00
nshrivas
0c0f1f392c Release 5.2.0.155M
Release 5.2.0.155M

Change-Id: I1e1bb0d453b85fd838958c573c9e35552bfc3bc7
CRs-Fixed: 774533
2019-11-01 16:59:38 -07:00
Jianmin Zhu
bc841052ca qcacld-3.0: Convert SME code legacy channel ID usage
Modify the following 2 APIs' code and parameters to use frequency
instead of channel ID:
sme_get_operation_channel
wlan_hdd_update_survey_info

Change-Id: I90f05cc7fedd061bf08b47299d2fb6530c470136
CRs-Fixed: 2554149
2019-11-01 16:59:38 -07:00
nshrivas
c136369dc0 Release 5.2.0.155L
Release 5.2.0.155L

Change-Id: Ic754f0af6361f0aecac0b9d38f206be195a16194
CRs-Fixed: 774533
2019-11-01 15:19:47 -07:00
Wu Gao
f5a00ddc1b qcacld-3.0: Avoid to add duplicate HE IE
Host will set HE IE by channel mode, and needn't copy he ie to
additional ie. Otherwise, there will be two he ies in beacon frames of
P2P GO.

Change-Id: Ia144bb5e96f00114658a371ef27c65f90a6c7df2
CRs-Fixed: 2549450
2019-11-01 15:19:47 -07:00
Kiran Kumar Lokere
93484d7ccb qcacld-3.0: Fix the wrong HE 160MHz mcs map in assoc request
Populate HE 160MHz mcs map only from 5G band mac-phy capabilities.
Session bandwith is checked to disable HE mcs for 160MHz, but session
bandwidth is updated after the MCS is disabled. Update HE 160MHz
MCS map after session bandwidth is derived.

Change-Id: I94813ae269856b34cf1ea6c6a13013738909c674
CRs-Fixed: 2556457
2019-11-01 15:19:43 -07:00
nshrivas
c42cecd11f Release 5.2.0.155K
Release 5.2.0.155K

Change-Id: I62bf487a591d0da13af3b3d2998d0238365b88cb
CRs-Fixed: 774533
2019-11-01 13:47:22 -07:00
Abhinav Kumar
d883b0e176 qcacld-3.0: Update group mgmt cipher suite in RSO commands
Newly introduced WMI macro for group management cipher suite is:
WMI_CIPHER_BIP_GMAC_256 0xf

Currently, host updates the localy defined macro for group
management cipher suite to the firmware only as part of RSO
commands over the WMI_AP_PROFILE command. Host should update
group management cipher suite as per WMI cipher macro.

Fix is to update the group management cipher suite in RSO cmd
as per WMI cipher macro.

Change-Id: I81dc5e800c55d1eb6cd0447265205d3413b29177
CRs-Fixed: 2547507
2019-11-01 13:47:22 -07:00
nshrivas
9eab06b7b8 Release 5.2.0.155J
Release 5.2.0.155J

Change-Id: Ib33bc6fcc70c4873738f17da9428801c52c95c9a
CRs-Fixed: 774533
2019-11-01 12:05:22 -07:00
Jianmin Zhu
203d7533f9 qcacld-3.0: Convert SME code legacy channel ID usage
Modify the following 2 APIs' code and parameters to use frequency
instead of channel ID:
   sme_get_roam_scan_channel_list
   drv_cmd_get_roam_scan_channels

Change-Id: I4e6edee71ef25bf73c170813159f5078f0c3e612
CRs-Fixed: 2554148
2019-11-01 12:05:22 -07:00
Liangwei Dong
7211b1d82e qcacld-3.0: Check vdev valid for access
Validate sap_contex->vdev before access.

Change-Id: Ib71c0d970a5ec119a01ecbb1b1f98a3a2a936a2a
CRs-Fixed: 2549289
2019-11-01 12:05:16 -07:00
Sourav Mohapatra
934409a8f8 qcacld-3.0: Clean up cache sta info in case of SAP
Currently in the driver, the cache sta info is not being cleaned up
before deinit of the SAP operation. This can lead to potential memory
leaks during driver unload.

Cleanup the remaining cached sta structures before deinit.

Change-Id: I75a61d8dbf8a6a8372882d2dcc978cc1dd0fb406
CRs-Fixed: 2550245
2019-11-01 12:05:10 -07:00
Li Feng
3cae460349 qcacld-3.0: Convert SME code legacy channel ID usage
Modify the following API code and parameters to make
sure they're using frequency instead of channel ID:

    csr_roam_sort_channel_for_early_stop

Change-Id: Ifaab55099d00988bf56f13dcadca8a1f6000e646
CRs-Fixed: 2554178
2019-11-01 12:05:05 -07:00
nshrivas
6800f50db2 Release 5.2.0.155I
Release 5.2.0.155I

Change-Id: I787db298c2a7e510f440e6599b0d16adfb055c0d
CRs-Fixed: 774533
2019-11-01 08:16:58 -07:00
gaurank kathpalia
aa252b5ea2 qcacld-3.0: ACS changes for 6ghz support
Driver ACS changes for 6Ghz channel support

Change-Id: I3d01f8aeda10037175588690100762d6a7e00f2c
CRs-Fixed: 2555901
2019-11-01 08:16:57 -07:00
Jianmin Zhu
dc76e63f0f qcacld-3.0: Remove wma target_if F/W event handler from wma
target_if F/W event handler is moved from wma to cmn part per
MCL/WIN converge requirement.

Change-Id: I583059190827c9aed8d8089412a4cfac92ddf4c9
CRs-Fixed: 2554859
2019-11-01 08:16:50 -07:00
Jianmin Zhu
bc99999c41 qcacld-3.0: Don't register vdev start stop delete event in wma_open
Vdev start/stop/delete events have been registered in
target_if_vdev_mgr_wmi_event_register in MCL/WIN common code.

Change MACRO name SERIALIZE_VDEV_RESP_TIMER to
SERIALIZE_VDEV_RESP.

Change-Id: I4d54a4755d7311b488f12f46a73db7e4645a4e0b
CRs-Fixed: 2554732
2019-11-01 08:16:46 -07:00
nshrivas
1745b8c454 Release 5.2.0.155H
Release 5.2.0.155H

Change-Id: I8c176a89ea1f1287efbf86b7ab6194d4bbbaf3b4
CRs-Fixed: 774533
2019-11-01 04:57:20 -07:00
Gururaj Pandurangi
9bcf639924 qcacld-3.0: Replace channel id with frequency
Replace channel ID with channel frequency in tSirMacChanNum
limReassocChannelId under struct pe_session

Change-Id: Ice8565ebcfcb863b7da7ec14a36b3abf3332ebab
CRs-Fixed: 2556247
2019-11-01 04:57:20 -07:00
nshrivas
eee30a7889 Release 5.2.0.155G
Release 5.2.0.155G

Change-Id: I115ddafef8da57dea128f16ee7a5392f1e15f94f
CRs-Fixed: 774533
2019-11-01 02:30:47 -07:00
Liangwei Dong
075afa7922 qcacld-3.0: Use freq for SME roam API
Change below csr/sme APIs and dependent APIs to
use freq as parameter:
csr_create_roam_scan_channel_list,
csr_neighbor_roam_channels_filter_by_current_band,
csr_neighbor_roam_merge_channel_lists,
csr_create_bg_scan_roam_channel_list,
sme_update_roam_scan_channel_list.

Change-Id: Icfc45863d6dacb318558ba75fde111af24256641
CRs-Fixed: 2555688
2019-11-01 02:30:47 -07:00
nshrivas
229e2f055b Release 5.2.0.155F
Release 5.2.0.155F

Change-Id: I7b8ae3b638a847756efddbc524bb0c7b42e84ea6
CRs-Fixed: 774533
2019-11-01 00:17:18 -07:00
Rakesh Pillai
246f1dfdd2 qcacld-3.0: Add support to flush rx packets for a vdev
When a particular vdev is deleted, the corresponding rx
packets which have been queued to the rx thread are not
flushed. Hence when such packets are submitted to the
network stack, the dev for this skb will be invalid,
since we have already freed the adapter.

Flush out the packets in the rx thread queues, before
deleting the vdev.

CRs-Fixed: 2552140
Change-Id: Ia49af2c203c64077f7fd87524bb4caa4060e0044
2019-11-01 00:17:18 -07:00
nshrivas
47c3b08d05 Release 5.2.0.155E
Release 5.2.0.155E

Change-Id: I0122d725014e6c06bafb7a5aaacd5dbed2a800a8
CRs-Fixed: 774533
2019-10-31 22:30:26 -07:00
Srinivas Dasari
0610cc4041 qcacld-3.0: Allow NDI creation in all concurrent cases
Currently, NDI and NDP creation is happening only if the
corresponding concurrency is allowed. But NDI should be allowed
to create/delete in all concurrent scenarios. So, don't validate
the other interfaces present on device for NDI creation/deletion
and validate only for NDP requests.

Change-Id: I8e8817ac63f1f94b48fe71a30ddf1d49183d263a
CRs-Fixed: 2552623
2019-10-31 22:30:25 -07:00
Amruta Kulkarni
5b738c23a3 qcacld-3.0: Remove wma_txrx_node params(tx_power,max_tx_power)
Target_if cleanup done for tx_power,max_tx_power params
 Use vdev_mlme_mgmt_generic params(tx_power,maxregpower) instead

Change-Id: I3dc30bbce0026dc88f83009671851a70c1495b30
CRs-Fixed: 2555402
2019-10-31 22:30:18 -07:00
nshrivas
3ba129aff7 Release 5.2.0.155D
Release 5.2.0.155D

Change-Id: I47e910f17212319bb86f71d62c2290c34f9ffb1e
CRs-Fixed: 774533
2019-10-31 20:39:42 -07:00
Liangwei Dong
6feed3fbea qcacld-3.0: Update intf_ch_freq form intf_ch
"intf_ch" is updated by wlansap_check_cc_intf function.
"intf_ch_freq" needs to be updated based on new intf_ch.

Change-Id: I64a9ded8f6fa1ebd9cc88f69098c88a7a01ca82c
CRs-Fixed: 2555848
2019-10-31 20:39:42 -07:00