Commit Graph

18022 Commits

Author SHA1 Message Date
nshrivas
4733e917ad Release 5.2.0.163J
Release 5.2.0.163J

Change-Id: Id476cbbbc8181ef5ebb962be3fd446ccdd495b1c
CRs-Fixed: 774533
2020-01-01 20:04:12 -08:00
Srinivas Dasari
b020999b07 qcacld-3.0: Remove sta_id check in NDP peer handlers
sta_id is carrying an uninitialized value from the caller
lim_send_sme_ndp_(add/del)_sta_rsp(). So, it's failing the
check for its validity and skipping the first NDP peer creation
/last NDP peer cleanup.
Remove the sta_id check as it's no longer used. So that the NDP
peer creation/cleanup happens properly.

Change-Id: I8daff2bfbc57b7a2fa17a121a5a9dec6975137de
CRs-Fixed: 2594317
2020-01-01 20:04:12 -08:00
Srinivas Dasari
5cc0b7c087 qcacld-3.0: Increase max supported vdevs by driver to 6
Maximum no.of supported vdevs by driver are currently 5. Increase
it to 6 to allow the creation of a separate vdev for NAN.

Change-Id: I1cdc4cc88142bf7a2ad9ab7b8f518453482d2b86
CRs-Fixed: 2592023
2020-01-01 20:03:59 -08:00
Srinivas Dasari
c9e048e52f qcacld-3.0: Add NAN vdev_id entry to policy mgr
Firmware sends vdev id allocated for NAN discovery in NAN enable
response. Validate the same and add corresponding entry to
policy manager.

Change-Id: I5e7426c6739620e05480fb90cecdb8ff156fd4cd
CRs-Fixed: 2592021
2020-01-01 20:03:44 -08:00
nshrivas
2465b3b1cc Release 5.2.0.163I
Release 5.2.0.163I

Change-Id: If90b0808a871ee2e48eaad4fc586b42980c6e7b1
CRs-Fixed: 774533
2020-01-01 18:24:15 -08:00
Srinivas Dasari
ee454da9db qcacld-3.0: Disable NAN in stop_adapter
Framework might not disable NAN discovery explicitly in some
cases like driver unload. So disable NAN from stop_adapter to
terminate NDPs and NAN discovery properly.
Cleanup the API os_if_process_nan_disable_req() by using the
new API ucfg_disable_nan_discovery().

Change-Id: Ic2c834db44c42a44db902c93f67a887de1b6c2fb
CRs-Fixed: 2594318
2020-01-01 18:24:15 -08:00
Srinivas Dasari
baff7dc092 qcacld-3.0: Create an iface for NAN discovery in driver init
Currently, framework issues NAN commands on station interface.
But when connection happens, framework does interface down and
up on the station interface due to MAC randomization. This
terminates all of the NAN operations.
So NAN discovery needs a separate interface to avoid dependency
on the station interface. Create an interface "wifi-aware0"
of type NL80211_IFTYPE_NAN based on the firmware capability
and register to kernel.
Framework issues "IF UP" on the new NAN discovery interface when
it enables NAN. Driver shall create vdev and send VDEV_CREATE
command to firmware for the same. Framework shall issue all
NAN discovery commands on this new interface. Driver shall use
NAN vdev for these NAN operations.
Framework shall do "IF DOWN" once the NAN operations
are done(Ex: up on NAN disable).

Change-Id: Ifd1e1ab5ed64cd97edb00e793214edd2a2365274
CRs-Fixed: 2592020
2020-01-01 18:23:50 -08:00
Srinivas Dasari
d2ba26192b qcacld-3.0: Register dummy APIs to NAN ops
Kernel needs the below to create NAN interface from driver,
1. Register APIs to the NAN ops. Define dummy APIs as the APIs
   are not supported for the current driver design.
2. Define NAN supported bands and 2GHZ is mandatory.
3. Set the iftype NL80211_IFTYPE_NAN in the supported
   interface_modes.

Change-Id: I22db31840da2ba0e44b79077a8790b55f1151684
CRs-Fixed: 2592022
2020-01-01 18:23:26 -08:00
nshrivas
ee278c2918 Release 5.2.0.163H
Release 5.2.0.163H

Change-Id: I72706b8d74a17b53e22c28a96ae0171c438af11c
CRs-Fixed: 774533
2020-01-01 15:42:33 -08:00
Srinivas Dasari
4c50119c27 qcacld-3.0: Get the firmware capability NAN_VDEV_SUPPORT
Firmware advertises service capability bit NAN_VDEV_SUPPORT for
separate NAN vdev creation. This capability can be used to create
separate interface for NAN discovery and process corresponding
commands from userspace.

Change-Id: I45573c94ee2d966afc1e207c9eefc146ff43320f
CRs-Fixed: 2592019
2020-01-01 15:42:33 -08:00
nshrivas
95c0e0d020 Release 5.2.0.163G
Release 5.2.0.163G

Change-Id: I81ffcd7b7c3017e84bf21546ab13bda7a9028cef
CRs-Fixed: 774533
2019-12-31 04:04:37 -08:00
Jianmin Zhu
6cc8f4ac49 qcacld-3.0: WMI_ROAM_INVOKE_CMDID passed channel id to F/W
Testing HSP roaming by issue DRIVER FASTREASSOC
00:24:01:38:b1:a1 6 to trigger manually roaming,
host gave wrong channel number instead of channel freq in
WMI_ROAM_INVOKE_CMDID.

Change-Id: I50157f2aa3447ee7b57a4ddefabd41db0876a50c
CRs-Fixed: 2592946
2019-12-31 04:04:37 -08:00
nshrivas
acdd43b21c Release 5.2.0.163F
Release 5.2.0.163F

Change-Id: Ia8c13cb4a92acb42b2c6c23a0475d42c222b4692
CRs-Fixed: 774533
2019-12-31 01:23:46 -08:00
Kiran Kumar Lokere
e8ef2ca819 qcacld-3.0: Fix memory leak while populating the peer rate set
Fix the possible memory leak while populating the peer rate set

Change-Id: I9d16c0c4a9e6ead4b82c1112333e11aa6379c7de
CRs-Fixed: 2593986
2019-12-31 01:23:46 -08:00
nshrivas
f1a1f7a8bc Release 5.2.0.163E
Release 5.2.0.163E

Change-Id: I8a3f6d0a9208a45723e7f35ea5bb298b88745635
CRs-Fixed: 774533
2019-12-30 23:54:46 -08:00
Yu Ouyang
36b48bf65a qcacld-3.0: Support ROME SDIO
Function ol_txrx_hl_tdls_flag_reset will call function
ol_txrx_get_vdev_from_vdev_id, it will return NULL vdev
because ol_txrx_hl_tdls_flag_reset is called before
TAILQ_INSERT_TAIL(vdev).
So, move it after TAILQ_INSERT_TAIL(vdev).

Redefinition of 'pld_pcie_register_driver' when
CONFIG_PLD_PCIE_CNSS not defined. For Hastings WHUNT,
HIF_PCI is defined but CONFIG_PLD_PCIE_CNSS is not defined.
So, replace CONFIG_PLD_PCIE_CNSS by HIF_PCI and
CONFIG_PLD_PCIE_FW_SIM.

Change-Id: I05e58516efe6a9a445168a27df9e0cfc9de2e50c
CRs-Fixed: 2589802
2019-12-30 23:54:46 -08:00
nshrivas
b459977215 Release 5.2.0.163D
Release 5.2.0.163D

Change-Id: Id5707fffbae175bca2afbfe83f86cbe5db4511f2
CRs-Fixed: 774533
2019-12-30 22:30:42 -08:00
Alan Chen
e37ba25faa qcacld-3.0: Change wlan vdev log level from error error to debug
After removing alarms, suspend failures are still seen saying that
linux is failing to freeze tasks. This is because there is an error
log message that indicates that at the time of suspend, there was no
active wlan vdev since the DUT is also in airplane mode. Thus, change
the log message level from error to debug.

Change-Id: I7ef0f0d9cf6eab26e53f62a176fc771e862b8ccd
CRs-Fixed: 2594922
2019-12-30 22:30:42 -08:00
nshrivas
07d4ceae01 Release 5.2.0.163C
Release 5.2.0.163C

Change-Id: I77a9509058b522b5f448852d765a02a21ada3f7b
CRs-Fixed: 774533
2019-12-30 20:47:06 -08:00
bings
00c391fa56 qcacld-3.0: Add g_prefer_5g_scc_to_dbs to give 5g scc higher priority
Add g_prefer_5g_scc_to_dbs to give higher priority for 5g scc than dbs.
It is bitmap per enum policy_mgr_con_mode.
For example in GO+STA(5G) mode, when TPUT is onfigured as wlan system
preference option, If 5G SCC needs higher priority than dbs, set it as
0x8.

This can make GO have higher TPUT given that STA and ref AP mostly have
low speed at this time. This can improve user experience.

Change-Id: Ib8b4bfeef55d97277843df92d3b82aa7f3b9835d
CRs-Fixed: 2587068
2019-12-30 20:47:06 -08:00
nshrivas
43f892a3dd Release 5.2.0.163B
Release 5.2.0.163B

Change-Id: I3653130e662df9d5bd2b79f1620bb80dab23cae6
CRs-Fixed: 774533
2019-12-30 12:12:09 -08:00
Sourav Mohapatra
0dce16d5ed qcacld-3.0: Increase the number of supported interfaces
The max number of VDEV that the FW can support is 4. Due to memory
limitation, the host cannot send more than 4 vdev create to the firmware.
But for certain scenarios such as NAN, where there is a need to create two
extra interfaces apart from wlan0, wlan1 and p2p0 (e.g. aware_dataN
interfaces), there needs to be 5 vdevs created in the host.

To support 5 vdevs in host and in the same time only send 4 vdev
create to the firmware, allow an extra 5th interface to be created.
But do not allow all the 5 vdevs to be "up" simultaneously
(existing check in objmgr).

Change-Id: I5b677ae21043f7ee54194541576aa5125719d9b6
CRs-Fixed: 2472869
2019-12-30 12:12:09 -08:00
nshrivas
4527d72585 Release 5.2.0.163A
Release 5.2.0.163A

Change-Id: I628952101b7111a7b90c04be5af67dc4ca5f12ec
CRs-Fixed: 774533
2019-12-30 04:08:17 -08:00
Yu Ouyang
e2ed521f0c qcacld-3.0: Fix DSRC compile error
DSRC feature is enabled by SDIO card profile. But when debug SDIO
interface feautre, there are many DSRC module compile issue.

Change-Id: I4429f2a6e68b67140a72ad9634031f459ccda397
CRs-Fixed: 2590115
2019-12-30 04:08:17 -08:00
nshrivas
be637514bb Release 5.2.0.163
Release 5.2.0.163

Change-Id: Id97b56f59edf71f1ffcaa4e9855a9c367a7ffbcd
CRs-Fixed: 774533
2019-12-29 21:05:18 -08:00
gaurank kathpalia
d5be743510 qcacld-3.0: Reject monitor mode command if invalid BW
Reject moniotr mode request if the BW given in the
start monitor command does not match with the
FW capability.

Change-Id: Ic1e2f4bcb811ec56526ae179407db197af591c9c
CRs-Fixed: 2590873
2019-12-29 21:05:18 -08:00
Chaoli Zhou
dd26bd904c qcacld-3.0: Add one flag for IPA_DISABLE_OVERRIDE
Add one new feature flag for allowing host to disable
IPA from the initialization phase.

Change-Id: If5e842747e7867b6f55fca7715ab3034fef2adc9
2019-12-29 21:05:03 -08:00
nshrivas
f42ba27bce Release 5.2.0.162Z
Release 5.2.0.162Z

Change-Id: I7a458eaf74c1fd7fdb80e3e31bfd05fc0afecbce
CRs-Fixed: 774533
2019-12-27 20:00:38 -08:00
Paul Zhang
e4b382eb03 qcacld-3.0: Fix compiling issue when disable CONFIG_WLAN_DEBUGFS
When CONFIG_WLAN_DEBUGFS is disabled, source files depending on debugfs
will not be compiled.

CRs-Fixed: 2589891
Change-Id: I43496fe1fffc83c26d810b2a06b8c0f45edfc1c8
2019-12-27 20:00:38 -08:00
nshrivas
d3d8fe61d8 Release 5.2.0.162Y
Release 5.2.0.162Y

Change-Id: I5e6d12188f1d4e6c0b795359f20577f8c4080631
CRs-Fixed: 774533
2019-12-27 16:30:29 -08:00
Pragaspathi Thilagaraj
77a8a13b1b qcacld-3.0: Fix integer overflow in rrm_fill_beacon_ies()
In function rrm_fill_beacon_ies, the total IE length is
calculated as sum of length field of the IE and 2 (element id 1
byte and IE length field 1 byte). The total IE length is defined
of type uint16_t and will overflow if the *(pBcnIes + 1)=0xfe.

Validate the len against total IE length to avoid overflow.

Change-Id: If8f86952ce43c5923906fc6ef18705f1785c5d88
CRs-Fixed: 2573329
2019-12-27 16:30:28 -08:00
nshrivas
16736e9253 Release 5.2.0.162X
Release 5.2.0.162X

Change-Id: I436d9335e1d8d8b131f0a90deaa02965507ca67f
CRs-Fixed: 774533
2019-12-27 11:22:38 -08:00
Liangwei Dong
0527617342 qcacld-3.0: STA+SAP 6Ghz concurrency
When SAP is on 5G and STA connects to 6Ghz AP, the "force
SCC" logic will move SAP to STA home channel if SAP is 6Ghz capable.
If SAP is not 6Ghz capable, SAP will be moved to 2G (DBS) to
avoid MCC(5G+6G) for DBS HW and SAP will stay on 5G for non-DBS HW.
SAP is 6Ghz capable only when all of below statements are true:
a. SAP config includes WPA3 security - SAE,OWE,SuiteB.
b. SAP is configured by ACS range which includes any 6G channel or
   configured by 6G Fixed channel.
c. SAP has no legacy clients (client doesn't support 6G band).
   legacy client (non 6ghz capable): association request frame has no
   6G band global operating Class.

Change-Id: I7e9723fd1b679326a3df61932850589e6e503f3d
CRs-Fixed: 2593569
2019-12-27 11:22:38 -08:00
nshrivas
4cecc53628 Release 5.2.0.162W
Release 5.2.0.162W

Change-Id: I054a306dfbcb851437acffde01a525e1f7353624
CRs-Fixed: 774533
2019-12-27 09:22:50 -08:00
Ashish Kumar Dhanotiya
87baef651f qcacld-3.0: Validate assoc response IE len before copy
When host sends assoc response to supplicant, it
allocates a buffer of fixed size and copies a variable
length of assoc response IEs to this fixed sized buffer.
There is a possibility of OOB write to the allocated buffer
if the assoc response IEs length is greater than the
allocated buffer size.

To avoid above issue validate the assoc response IEs length
with the allocated buffer size before data copy to the buffer.

Change-ID: Ib12385e9ff04e5172ae8b505faf959e426fda439
CRs-Fixed: 2583124
2019-12-27 09:22:49 -08:00
nshrivas
8853ac5089 Release 5.2.0.162V
Release 5.2.0.162V

Change-Id: Iaa6dfa0c68b1501bf1cc9035f90aa275a13a7de5
CRs-Fixed: 774533
2019-12-27 05:17:56 -08:00
Paul Zhang
2236ab76df qcacld-3.0: use debugfs to show ini configs
Create the debugfs interface to show the ini configs.
Usage: cat /sys/kernel/debug/wlan/ini_config

Change-Id: I2c6aeeaae6d79739bb8ab82740e8be678c18fd89
CRs-Fixed: 2572142
2019-12-27 05:17:55 -08:00
nshrivas
2de8dce2a4 Release 5.2.0.162U
Release 5.2.0.162U

Change-Id: Ic42d3388b97559204d0769168529b34fb4b5d7fb
CRs-Fixed: 774533
2019-12-27 03:24:25 -08:00
Vevek Venkatesan
07bddb2034 qcacld-3.0: cdp: Converge ol_txrx_ops
Currently txrx_ops.tx.tx is given vdev handle
as its argument, which is directly accessed
by the caller. This can cause a race-condition
in access of the respective handle if it has
been deleted in parallel.

Hence as a part of cdp convergence, pass only
the vdev_id, which will be used to get the
respective handle and hence avoiding unwanted
access of the handle if it has been deleted.

Change-Id: Ie158a2ba805f52658cd6fb12c969fc0d677c1815
CRs-Fixed: 2541631
2019-12-27 03:24:24 -08:00
Vevek Venkatesan
0ac759fc1c qcacld-3.0: cdp: Converge cdp_cmn_ops
Currently cdp ops are given pdev/vdev/peer
handle as its arguments which is directly
accessed in those APIs. This can cause a
race-condition in access of the respective
handles if it has been deleted in parallel.

Hence as a part of cdp convergence, pass only
the pdev_id or vdev_id or peer mac address,
which will be used to get the respective handles,
and hence avoiding the unwanted access of the
handles if it has been deleted.

- txrx_data_tx_cb_set
- txrx_mgmt_tx_cb_set
- txrx_mgmt_send_ext
- txrx_pdev_attach_target
- txrx_pdev_detach
- txrx_vdev_attach
- txrx_vdev_register
- txrx_vdev_detach
- txrx_peer_create
- txrx_peer_delete
- txrx_peer_delete_sync
- txrx_fw_stats_get
- txrx_get_vdev_from_vdev_id
- txrx_pdev_set_ctrl_pdev
- txrx_pdev_attach
- txrx_get_vdev_mac_addr
- txrx_pdev_post_attach
- txrx_pdev_pre_detach
- txrx_get_ctrl_pdev_from_vdev
- txrx_get_mon_vdev_from_pdev

Change-Id: Ib8b0b1edd63e7c3f8813b11ca26b50ec121fe255
CRs-Fixed: 2541459
2019-12-27 03:24:09 -08:00
nshrivas
f1cab52a92 Release 5.2.0.162T
Release 5.2.0.162T

Change-Id: If6c8d30faa9f76c75123b49815c8206591a730ba
CRs-Fixed: 774533
2019-12-26 20:42:30 -08:00
Liangwei Dong
825d2fc8f3 qcacld-3.0: Acquire sap context before access
Fix potential race condition issue when the sap_context
of adapter is null and it is accessed in work queue -
 __policy_mgr_check_sta_ap_concurrent_ch_intf.
To acquire/release the "sap_context" by get/put API.

Change-Id: I91dacc6d45c377840f7d30f2f9ff902f53ccd8e8
CRs-Fixed: 2592524
2019-12-26 20:42:30 -08:00
nshrivas
5c414e821f Release 5.2.0.162S
Release 5.2.0.162S

Change-Id: I270371ca4c44979fb69adbd4f9bc71e3609037e1
CRs-Fixed: 774533
2019-12-26 11:37:53 -08:00
Naman Padhiar
fb90ce5ccb qcacld-3.0: Add wrapper APIs for HIF layer
Add wrapper APIs which can be used to route calls
to PLD layer if PLD layer.

Change-Id: I4423483f5f3660f7743832d05fd38b45661d02e7
2019-12-26 11:37:52 -08:00
nshrivas
032a0f7aa7 Release 5.2.0.162R
Release 5.2.0.162R

Change-Id: I36f3fa55549bdad40626c8c9464ee7ab3da282eb
CRs-Fixed: 774533
2019-12-26 10:17:04 -08:00
Chaoli Zhou
b8c766afd3 qcacld-3.0: Fix PKTLOG failure with Genoa
The PKTLOG function broken with Genoa caused by
2857937, so add the needed macro back to avoid
crash issue while PKTLOG enable.

Change-Id: I3f9621830dcad415868fdee5fbeef8fdb86604b0
2019-12-26 10:17:03 -08:00
nshrivas
da2ce637a0 Release 5.2.0.162Q
Release 5.2.0.162Q

Change-Id: I44353b391319cd6ab9052487f19d14a9b5df9dd9
CRs-Fixed: 774533
2019-12-26 07:34:18 -08:00
Pragaspathi Thilagaraj
1799c4170d qcacld-3.0: Send SNR values for roam trigger minimum rssi
When the firmware doesn't advertise the
wmi_service_hw_db2dbm_support target capability host should send
rssi values in SNR equivalent so that the hardware can trigger
interrupts. Else low rssi, idle roam, emergency deauth roam
interrupts will not be triggered.

Add changes to convert RSSI values coming from ini to
SNR and send it to firmware. Below ini parameters need
conversion:
bss_load_trigger_2g_rssi_threshold
bss_load_trigger_5g_rssi_threshold
idle_roam_min_rssi
candidate_min_rssi_for_beacon_miss
candidate_min_rssi_for_disconnect

Change-Id: Ied0325031b336d0b6c03ad5dda772170bc54190c
CRs-Fixed: 2590848
2019-12-26 07:34:18 -08:00
nshrivas
19d1c6f4f9 Release 5.2.0.162P
Release 5.2.0.162P

Change-Id: I9f179fdb961209c805e4be1fb648807f0f1e4b78
CRs-Fixed: 774533
2019-12-26 06:06:54 -08:00
sheenam monga
63736f6880 qcacld-3.0: Add ini support to enable/disable ring buffer
Currently, There is no support to disable ring buffer. Each Ring
buffers is using 2MB and overall 10MB is consumed by 5 ring buffers.

Fix is to add ini support to enable/disable ring buffer.
Boolean ini CFG_ENABLE_RING_BUFFER is added. Default value of
gEnableRingBuffer is 1 which indicates that ring buffers are enabled
by default.

CRs-Fixed: 2592476
Change-Id: I30f95668de6df96e5c388e92e202f8c236132dc2
2019-12-26 06:06:53 -08:00