Gráfico de commits

15733 Commits

Autor SHA1 Mensagem Data
Ashish Kumar Dhanotiya
9549818d86 qcacld-3.0: Add ini support for SAR version
Currently SAR feature version is decided based on
feature flag WLAN_FEATURE_SARV1_TO_SARV2, if this
flag is enabled SAR version 2 is used.
Add an ini support to specify the SAR version.

Change-Id: Ib3ac8a3e7320d3e7f303ae14828d2b0428ca2993
CRs-fixed:
2019-05-01 10:18:23 -07:00
Nirav Shah
fd307befce qcacld-3.0: Enable CONFIG_CP_STATS for Genoa
Enable CONFIG_CP_STATS for Genoa.

Change-Id: Ie742546ca1e0eeb83aa5f4f53c46b275808ad51b
CRs-Fixed: 2442590
2019-05-01 10:18:19 -07:00
Ashish Kumar Dhanotiya
9d9816952c qcacld-3.0: Add support to cache peer rssi and mc_bc count
Use updated cp stats component to get peer rssi and tx rate,
rx rate for big data logging as legacy infrastructure is
deprecated.
Additionally add support for RX multicast broadcast packets from FW.

Change-Id: Idcab4a022a4e7e34bd15878f95ad8248ca3aa9dd
CRs-fixed: 2428582
2019-05-01 10:18:15 -07:00
nshrivas
08cda833de Release 5.2.0.132A
Release 5.2.0.132A

Change-Id: I6c8b0ee7631a67bc63fc059ab158109c2ecf4e71
CRs-Fixed: 774533
2019-05-01 05:53:59 -07:00
gaurank kathpalia
a3415ed80d qcacld-3.0: Remove check of hw mode from connect path
Currently the driver checks that whether DBS connection
is allowed in concurrency or not, and if it is not
allowed, MCC should happen.
But the check of policy_mgr_is_hwmode_set_for_given_chnl blocks
the connection in MCC, because it checks whether the DBS
mode is set or not, which should not be case always, for
example in MCC case scenarios, or SBS case scenarios in
future.
Lets take a case scenario to understand this :-
1. Keep the ini channel_select_logic_conc = 0
        this would disable the dbs for STA+STA/P2P-CLI
2. Turn on the above concurrency combinations in diff band
3. The expectation should be MCC as DBS for this combination
is disabled, but this is not the observation.

here the vdev that comes up next, would fail as MCC is rejected
in policy_mgr_is_hwmode_set_for_given_chn, and DBS is not allowed
according to the check in policy_mgr_is_dbs_allowed_for_concurrency
hence the combination mentioned above cannot be achieved with
this check.

Fix is to remove the check of dbs from API
policy_mgr_is_hwmode_set_for_given_chnl.

Change-Id: I4260f3229658b753f98a106e5580b6c18f7ac0ff
CRs-Fixed: 2442533
2019-05-01 05:53:59 -07:00
Liangwei Dong
857cb8464f qcacld-3.0: deregister policy mgr cb upon stop modules
There is chance that some active thread is running and
skip stop modules. In that case driver should not
deregister policy mgr callback.
Call hdd_deregister_policy_manager_callback after
active thread check when stop modules.

Change-Id: I5fe3e438e87da0b333ae9b20994e58228fa67918
CRs-Fixed: 2443271
2019-05-01 05:53:55 -07:00
nshrivas
eadf113bc7 Release 5.2.0.132
Release 5.2.0.132

Change-Id: Ia2abed8b855143366be062387ca04fa3c6251d86
CRs-Fixed: 774533
2019-05-01 04:05:33 -07:00
Jianmin Zhu
0b505a68b1 qcacld-3.0: Update PCL to F/W when ioctl SETROAMINTRABAND
When run cmd:  wpa_cli driver SETROAMINTRABAND 1 to runtime
configure intro BSS roaming capability, PCL isn't updated to F/W
and intro BSS roaming doesn't work until next connection or
disconnection, it is not our expectation.

Change-Id: I9e8f7de4d87ca00e8ddcb63cc30d784e0c786a9e
CRs-Fixed: 2444463
2019-05-01 04:05:33 -07:00
nshrivas
d3e80a467e Release 5.2.0.131Z
Release 5.2.0.131Z

Change-Id: I16d5fe46bf40052282bbc0ba7ffc7dba25726117
CRs-Fixed: 774533
2019-04-30 22:27:24 -07:00
Yu Wang
7d866f6906 qcacld-3.0: add build flag DYNAMIC_SINGLE_CHIP
Introduces a new build flag 'DYNAMIC_SINGLE_CHIP':
If DYNAMIC_SINGLE_CHIP is defined, which means there
are multiple possible drivers, but only requires one
instance of driver at a time. In such case, leave
MULTI_IF_NAME undefined, no matter what the module
name is, only prepend DYNAMIC_SINGLE_CHIP to names
of firmware/mac/ini files.

Take path of driverdump and ini file for example:
If both MULTI_IF_NAME and DYNAMIC_SINGLE_CHIP are not
defined, the paths are:
driverdump: '/proc/debugdriver/driverdump'
ini: '/<fw_root>/wlan/qca_cld/WCNSS_qcom_cfg.ini'

If DYNAMIC_SINGLE_CHIP is defined as 'qca6174':
driverdump: '/proc/debugdriver/driverdump'
ini: '/<fw_root>/wlan/qca_cld/qca6174/WCNSS_qcom_cfg.ini'

If MULTI_IF_NAME is defined as 'qca6174' and
DYNAMIC_SINGLE_CHIP is not defined:
driverdump: '/proc/debugdriverqca6174/driverdump'
ini: '/<fw_root>/wlan/qca_cld/qca6174/WCNSS_qcom_cfg.ini'

On LA platform, DYNAMIC_SINGLE_CHIP is controlled by
TARGET_WLAN_CHIP and TARGET_MULTI_WLAN:

If more than one WLAN devices are enabled in TARGET_WLAN_CHIP,
and TARGET_MULTI_WLAN is not set to 'true',
DYNAMIC_SINGLE_CHIP will be set to the device name, to
avoid name conflicts of firmware/mac/ini files;
meanwhile, MODNAME is set to 'wlan', then paths for
debugging are not changed.
Otherwise, MULTI_IF_NAME will be defined if requires
multiple instances of driver.

Change-Id: I22ed34d80d3540451bf8b891243c6cdac5a73d7e
CRs-Fixed: 2402432
2019-04-30 22:27:24 -07:00
Srinivas Girigowda
793fd05680 qcacld-3.0: Remove file cds_if_upperproto.h
Remove file cds_if_upperproto.h.

Change-Id: Iaef5431c93e1f13ab8afb908ad6ca140ee22d087
CRs-Fixed: 2436677
2019-04-30 22:27:20 -07:00
nshrivas
475387de32 Release 5.2.0.131Y
Release 5.2.0.131Y

Change-Id: Ie82bc6b9e610ac84190502f641cdd075058de854
CRs-Fixed: 774533
2019-04-30 08:41:13 -07:00
Bala Venkatesh
51930d5a43 qcacld-3.0: Don't allow update peer command if peer not found
Do not allow tdls peer update command if tdls peer is not
found in lim. If peer assoc command is given to FW
without peer create, FW will assert.

Remove tdls peers in tdls component in case of roaming as
peers are deleted in lim as part of roaming.

Change-Id: Ie227da682e4d30c9b583881f7e2eaafe91826476
CRs-Fixed: 2441951
2019-04-30 08:41:12 -07:00
nshrivas
55864f4eb5 Release 5.2.0.131X
Release 5.2.0.131X

Change-Id: I4bdb6420e535bff90099048882a3edfada9429cb
CRs-Fixed: 774533
2019-04-30 02:13:15 -07:00
jiad
72b69a952e qcacld-3.0: Enable STA IPA offload for MDM platforms
In STA-SAP config, IPA offload is enabled only when first
client is connected to SAP. This is OK for MSM platforms.
But for MDM platforms, this is not the case. There's STA
tethering cases, where traffic is routed between STA and
USB tethering devices while SAP is idle and no wifi clients
are connected to SAP. In such case, IPA offload needs to
be enabled for STA to promote performance.

Fix is to use available MDM_PLATFORM marco and STA only IPA
support is decided upon driver build time.

Change-Id: If2bc016aa941f2c0651a2669f1169e631208326b
CRs-Fixed: 2433608
2019-04-30 02:13:14 -07:00
nshrivas
b7a6d8c807 Release 5.2.0.131W
Release 5.2.0.131W

Change-Id: I749fefe088cc9dde4b4e0eaa444988af76d5acb7
CRs-Fixed: 774533
2019-04-29 15:27:10 -07:00
Arun Kumar Khandavalli
4b6e218e4a qcacld-3.0: Remove the reboot notification to notification
This commit reverts 830c969fc9.
The changes are taken care at the upper layer to not invoke
the driver unload during the system reboot.

Hence reverting the change which added the reboot notification
to driver

Change-Id: I9582fd4b7db158756a2f558a65a79c3f733e97a0
CRs-Fixed: 2443790
2019-04-29 15:27:07 -07:00
nshrivas
f34c4a6d10 Release 5.2.0.131V
Release 5.2.0.131V

Change-Id: I81cf33b95823721a6f707bb27a03355f5dcc4304
CRs-Fixed: 774533
2019-04-29 06:13:19 -07:00
Ashish Kumar Dhanotiya
4c6f6b643d qcacld-3.0: Report max tx_bitrate in case of connected sta
Currently as response of GETBSSINFO command driver is sending
actual bitrate information in connected and disconnected case.
According to new requirement send max supported bitrate of AP
as response of GETBSSINFO command in case of connected station.

Change-Id: I15624bf0c50af37847b8e1c0fe8bc9a880d3d021
CRs-fixed: 2434270
2019-04-29 06:13:18 -07:00
hqu
fdfa9a62e9 qcacld-3.0: Refine structure he_ops_network_endian
Structure he_ops_network_endian doesn't match 11ax
spec definition for he operation element format.
Driver will parse the wrong value from hostapd data.

Fix is to refine structure he_ops_network_endian
according to 11ax spec, basically sync with structure
tDot11fIEhe_op definition.

Change-Id: I173eca9a2d73df24e44560508c6514479f7d4e5e
CRs-Fixed: 2437831
2019-04-29 06:13:14 -07:00
nshrivas
9632694c97 Release 5.2.0.131U
Release 5.2.0.131U

Change-Id: Icece49374a1f31416a7178140f397e27a1e41d48
CRs-Fixed: 774533
2019-04-29 04:17:31 -07:00
Rajeev Kumar
0075036be1 qcacld-3.0: Stats: Add handling of pmo suspend resume
Register pmo suspend resume handler to disable/enable stats requests.

Change-Id: If1112e3ef23bfa53f107eb5a668189da4f83bd0c
CRs-Fixed: 2430011
2019-04-29 04:17:30 -07:00
Wu Gao
18e788a176 qcacld-3.0: Update rssi when get all tdls peers
It doesn't update rssi of tdls peers. So add logic to update it when
get all tdls peers.

Change-Id: I81d4536b5cb2443b088ee4a5d425d548eac152d6
CRs-Fixed: 2435903
2019-04-29 04:17:25 -07:00
Pragaspathi Thilagaraj
b017650fc7 qcacld-3.0: Handle WMI_ROAM_EVENTID with deauth/disassoc reason
When AP sends deauthentication/disassociation frame, host will
handle the deauth/disassoc frame. If the ini
"enable_disconnect_roam_offload" is enabled, firmware will
trigger a roam scan immediately after deauth/disassoc is
received and roam to a new AP. If roam failure happens after
this roam scan, firmware will send  WMI_ROAM_EVENTID with reason
WMI_ROAM_REASON_DEAUTH.

Register a WMA callback to call the PE disconnect handler
function. This will call lim_tear_down_link_with_ap() to
handle the deauth state machine changes and posts message to
sme to inform the link lost info.

Change-Id: I404b019595b96c0710d09cb9218e3a1d28924fc7
CRs-Fixed: 2443219
2019-04-29 04:17:20 -07:00
nshrivas
bd71a02dc7 Release 5.2.0.131T
Release 5.2.0.131T

Change-Id: I667c0bde3ae5fd5ec87ea63a57111fbf63f08319
CRs-Fixed: 774533
2019-04-29 01:44:27 -07:00
Jianmin Zhu
d25260775f qcacld-3.0: Fix LFR2 VDEV SM failure
1. Move the VDEV SM to UP state in lim_process_mlm_reassoc_cnf in
   success cases similar to lim_handle_sme_join_result.

2. Handle LFR2 fail case in lim_process_mlm_reassoc_cnf
1)	Vdev start failure
2)	Reassoc timeout
3)	Reassoc reject

Change-Id: Id34715faa9428fc11f5330a353258542c8ce29e3
CRs-Fixed: 2442470
2019-04-29 01:44:26 -07:00
nshrivas
b52bb45fd4 Release 5.2.0.131S
Release 5.2.0.131S

Change-Id: Ia1375386ace285037a18d2678d91286752c86a14
CRs-Fixed: 774533
2019-04-28 18:46:28 -07:00
hangtian
72704809e5 qcacld-3.0: Add stop_th and start_th for tx flow control V1
Add stop_th and start_th for QCA_LL_TX_FLOW_CONTROL_V2 disabled
platform, which is pdev based tx_desc pool. Change pdev tx_desc pool
size from 1056 to 900, default stop_th is 15% start_th is 25%, this
setting is exactly same as QCA_LL_TX_FLOW_CONTROL_V2. Pause netif tx
queues for all vdevs when stop_th reached instead of dropping frames.
Reduce pdev pool size could significantly reduce firmware wmm drop. Both
of host and firmware frame dropps lead to bad TCP throughput.

Change-Id: I77daf8c9fdef624f8ec479885b7705deb1fef142
CRs-Fixed: 2436772
2019-04-28 18:46:27 -07:00
nshrivas
ab48754a2f Release 5.2.0.131R
Release 5.2.0.131R

Change-Id: I95a9d4512e19bf7634a28cf3f43476ff7096b646
CRs-Fixed: 774533
2019-04-27 01:01:42 -07:00
gaurank kathpalia
7b5efba296 qcacld-3.0: Modify scan type for RRM scan request
Currently in the case of concurrent sessions running,
the driver updates the active dwell time for the scan
request to the default value, overwriting the already
filled active dwell time which the DUT got from the
AP as part of RRM request, which results in violation
of protocol.

Fix is to not update the concurrency params if the scan
request is of type RRM.

Change-Id: I09ebfbee0d282391be17aed7eaf56e3c53c2a5e2
CRs-Fixed: 2438535
2019-04-27 01:01:42 -07:00
nshrivas
f01c9750e9 Release 5.2.0.131Q
Release 5.2.0.131Q

Change-Id: I17ed1b0c3dc898bf2842eef80531c0f0f8e4ce2d
CRs-Fixed: 774533
2019-04-26 15:30:53 -07:00
Sravan Kumar Kairam
53b43e15f0 qcacld-3.0: Modify get tx success ack count api
Modify get tx success ack count api to support it for
lithium datapath by passing pdev reference.

Change-Id: Ibf4396bba941fd4f7e1dc55ca24534fecf54e01e
CRs-Fixed: 2438716
2019-04-26 15:30:52 -07:00
nshrivas
69f3785c64 Release 5.2.0.131P
Release 5.2.0.131P

Change-Id: If973a187155901b9fc169322a353b1835b405eda
CRs-Fixed: 774533
2019-04-26 13:43:06 -07:00
Sravan Kumar Kairam
0c3f7325a4 qcacld-3.0: Add feature flag for dp rx buffer cache
Add feature flag PEER_CACHE_RX_PKTS to support caching RX
buffers in dp.

Change-Id: Ie8cc7368568554c5320889cbb9ca8db4532cb03e
CRs-Fixed: 2442779
2019-04-26 13:43:06 -07:00
nshrivas
c85d254e10 Release 5.2.0.131O
Release 5.2.0.131O

Change-Id: If2696adb0aff601e9761c7f855d0aa22656a154a
CRs-Fixed: 774533
2019-04-26 01:50:29 -07:00
Vevek Venkatesan
789b6b32c7 qcacld-3.0: add IPA cleanup during PD Restart
Currently there is no way to find out PD Restart indication,
so platform driver has added an API to differentiate PD Restart
from SSR. Using this API in shutdown notify handler, sending
message to IPA to do required cleanup.

Change-Id: I9d07c6fc573b6db1c7d0c1b7c99f325e22fe81cd
CRs-Fixed: 2436036
2019-04-26 01:50:28 -07:00
nshrivas
ec17be278d Release 5.2.0.131N
Release 5.2.0.131N

Change-Id: Ia973741152e1422359c37ffcd0758291297a1994
CRs-Fixed: 774533
2019-04-25 00:51:27 -07:00
Arun Kumar Khandavalli
a423458219 qcacld-3.0: Propagate error from the hdd to wma in case of failure
When the ready event is received from the firmware, hdd callback
is called to create the pdev and update the capabilties. If
there is any error the error is not propogated back to hdd
which can result in the accessing the invalid memory.

Propagate the status correctly from hdd to wma to resolve this issue.
This will result in the probe failure until the resources are available
or reference leaks are fixed.

Change-Id: I97ec062893216e25e285d95d6bfb5cf3e91a4005
CRs-Fixed: 2426612
2019-04-25 00:51:26 -07:00
nshrivas
8682d1c480 Release 5.2.0.131M
Release 5.2.0.131M

Change-Id: I38fcc8cc8afac2ffe01bf94ad9ce43c7bff37fc0
CRs-Fixed: 774533
2019-04-24 20:24:06 -07:00
Pragaspathi Thilagaraj
5f51077b39 qcacld-3.0: Derive PMK-R0 and PMK-R1NAME for FT-FILS
Generate PMK-R0 and PMK-R1NAME for FT-FILS connection and send it
over assoc request frame.

According to 802.11-2016 standard:
PMK-R0 is derived as:
R0-Key-Data = KDF-Hash-Length(XXKey, "FT-R0", SSIDlength ||
				SSID || MDID || R0KHlength ||
				R0KH-ID || S0KH-ID)
PMK-R0 = L(R0-Key-Data, 0, Q)
PMKR0Name = Truncate-128(SHA-256("FT-R0N" || PMK-R0Name-Salt))

PMK-R1 is derived as:
PMK-R1 = KDF-Hash-Length(PMK-R0, "FT-R1", R1KH-ID || S1KH-ID)

PMK-R1Name is derived as:
PMKR1Name = Truncate-128(SHA-256(“FT-R1N” || PMKR0Name ||
			R1KH-ID || S1KH-ID))

Call qdf_get_hash() function to generate a sha-256 or sha-384
hash. Use qdf_get_hash() with hmac(sha-256) or hmac(sha-384)
to generate hmac_hash.

Set PMKID count as 1 in RSN IE and copy the PMKR1-name
generated to the PMKID list. This PMKR1 should be the only
entry in PMKID list in assoc request frame sent by the driver
during FT-FILS initial mobility domain FILS connection.

Change-Id: Ic634aebbe42a58b92f871cf3258c62f7541d161a
CRs-Fixed: 2414719
2019-04-24 20:24:05 -07:00
Pragaspathi Thilagaraj
eb367282fd qcacld-3.0: Handle wmi_key_material_ext tlv of ROAM_SYNCH event
With current design, firmware sends the kck, kek and replay
counters as part of wmi_key_material tlv over the
WMI_ROAM_SYNCH_EVENTID event. But the maximum supported kck key
length in wmi_key_material was 16 bytes. But for FT Suite-B
(akm 00:0f:ac:13), the kck_bits is 24 bytes long and cannot be
sent over wmi_key_material. So firmware sends kck, kek and
replay counter values over the new tlv wmi_key_material_ext.

Host driver copies the kck key with fixed 16 byte length to the
upper layers. Introduce kck_length parameter in csr_roam_info
and roam_offload_synch_ind structures and copy kck based on this
length.

Also fix maximum number of AKM suites supported to 5, as some
certification test cases advertise 5 akms.

Change-Id: Iab050e3e3f7efead8070a02094998d15f7ffcbd0
CRs-Fixed: 2400770
2019-04-24 20:23:59 -07:00
nshrivas
beca3785a2 Release 5.2.0.131L
Release 5.2.0.131L

Change-Id: Ie55a37cb772d419a247de720bd88427d935c55fc
CRs-Fixed: 774533
2019-04-24 13:11:52 -07:00
Yeshwanth Sriram Guntuka
2c73ebd008 qcacld-3.0: Send xmit ind to PE on bcn report req processing failure
On failure in processing beacon report request in
sme_rrm_process_beacon_report_req_ind, xmit ind is
not sent to PE. This will result in all subsequent
beacon report requests to fail as current request
in PE is not freed. Beacon report request is received
with country code US-O and operating class 12. In this
scenario, third byte in country code is overwritten to
global_op_class which causes no channel to be populated
for scan as there is no operating class 12 in global op
class.

Fix is to send xmit ind to PE on failure in processing
beacon report req in SME for cleanup and not overwrite
the third byte in country code if value exceeds global
op value.

Change-Id: Ie07dbb1f45803cf93b45df2173f0ad064a194cb3
CRs-Fixed: 2439827
2019-04-24 13:11:51 -07:00
nshrivas
17384edab1 Release 5.2.0.131K
Release 5.2.0.131K

Change-Id: Id9b21f072d044407e1d2c78629dbf848c3d3bc0a
CRs-Fixed: 774533
2019-04-24 11:38:31 -07:00
Will Huang
b9cb12421a qcacld-3.0: Add missed calling of wlan_hdd_get_station_remote
Propagation from qcacld-2.0 to qcacld-3.0

For the sap role, .get_station would invoke
wlan_hdd_get_station_remote() or wlan_hdd_get_sap_stats(), depends on
"gSapGetPeerInfo" ini setting. And fix the logic of determine sap get
peer info enable or not by target capability.

CRs-Fixed: 2427627
Change-Id: I3162950a6a7202d55b64ff9c60a26971d3a31555
2019-04-24 11:38:31 -07:00
nshrivas
124a444ae3 Release 5.2.0.131J
Release 5.2.0.131J

Change-Id: Ic8884428a6d3e264fc8b9e0a47ed59373a2addce
CRs-Fixed: 774533
2019-04-24 09:29:53 -07:00
Abhishek Singh
173d469846 qcacld-3.0: Fix duplicate IE detection logic in missed API
In some parse APIs the duplicate IE detection logic is not present
and thus duplicate IE will be processed again.

Fix by adding logic in missed API to parse IEs.

Change-Id: I0ad5decf41e72783c211fca2ca56d796b08a1003
CRs-Fixed: 2441001
2019-04-24 09:29:53 -07:00
Lihua Liu
1eb137ef94 qcacld-3.0: Add setup for peer when LFR3 roaming is triggered
Peer is created but not setup in LFR3 roaming case,
then peer->rx_tid[tid].array is not initialized with a valid
value before using,which cause null point dereference in
dp_rx_defrag_cleanup() when cleaning up peer.

Change-Id: Ia8fd7773041511f3865d8ba26f4844d9b33bcec0
CRs-Fixed: 2436112
2019-04-24 09:29:49 -07:00
nshrivas
4b50cf5e6f Release 5.2.0.131I
Release 5.2.0.131I

Change-Id: I23ab6a1b762df029f82c7e2bb0e02a9694280bff
CRs-Fixed: 774533
2019-04-24 04:05:42 -07:00
Paul Zhang
a25f75a841 qcacld-3.0: Add INI to config tx retry threshold
Add gTxAggSwRetry for tx aggregation case, and
Add gTxNonAggSwRetry for non tx aggregation case.

Change-Id: I92265fb4e279eaf63c45f0134f997df02bca8737
CRs-Fixed: 2436305
2019-04-24 04:05:41 -07:00