Commit graph

5,557 commits

Author SHA1 Message Date
gaurank kathpalia
f6e13db4b6 qcacmn: Add src, and dst id support in DFS
In the scheduler_post_message, src_id is now added to
know the source module of the msg. The present scheduler
doesn't know about the same which is scheduler_post_msg.

Replace the scheduler_post_msg with scheduler_post_message.

Change-Id: I954a56eb960e8caab25f0734da2f8badf77cad3a
CRs-Fixed: 2306020
2018-09-17 02:58:15 -07:00
gaurank kathpalia
6ec44e61ba qcacmn: Add src, and dst id support in REGULATORY
In the scheduler_post_message, src_id is now added to
know the source module of the msg. The present scheduler
doesn't know about the same which is scheduler_post_msg.

Replace the scheduler_post_msg with scheduler_post_message.

Change-Id: Ia8c9355528b430bda9231c24c07a648f1931e0eb
CRs-Fixed: 2306018
2018-09-17 02:58:13 -07:00
Keyur Parekh
ba75857390 qcacmn: Populate proper Rx reception type
Rx reception type for packet was populated from
wrong TLV. Populate reception type based on
HT,VHT or HE TLV tags

Change-Id: I3240a9f029b0bfeee8833761531e086bc5df6f91
2018-09-16 22:35:23 -07:00
Chaithanya Garrepalli
710e2959f2 qcacmn: Add HAL APIs to set search type and index
HAL APIs added to set search type and search index
in tx descriptor

Change-Id: I9fc2eae5d1f75a7cb72ba141f45a60f248b52f9c
CRs-fixed: 2312178
2018-09-16 09:49:13 -07:00
Chaithanya Garrepalli
2467ed1445 qcacmn: avoid wds source port learning for STA in HKV2
Changes to avoid WDS source port learning in STA mode
if ast override feature is supported by HW

Change-Id: I248c8815429e7417dcf3f451912ee5f037af9c25
2018-09-15 21:21:23 -07:00
Chaithanya Garrepalli
3e93e5f8ae qcacmn: changes to enable peer map V2 messaging
Host changes to enable HTT version 2 messaging for
PEER map and unmap in FW and changes to handle these
messages in host

Change-Id: Ifbe478212bbbc9c9ea1c1e4791c7a78407c376cc
2018-09-15 11:11:04 -07:00
Priyadarshnee S
1e838726f1 qcacmn: Address NULL pointer reference in scm_11d_handle_country_info()
When a 2G AP vap is brought up on a "WORLD" regdomain (say 0x30),
reg_is_world_alpha2() returns true. Also "enable_11d_in_world_mode" is set
true by default during reg psoc creation. When a regdomain is set, process
master channel list is invoked during which "enable_11d_supp" is set to
true as regdomain is "WORLD" and "enable_11d_in_world_mode" is also set to
true.

As "reg_11d" is enabled, during beacon and probe processing, country
update is done and scm_11d_handle_country_info() is called. 11d feature is
specific to MCL and hence on WIN code base, it causes invalid memory
access and it panics.

"enable_11d_in_world_mode" is MCL specific feature and is disabled for WIN
to avoid any call to scm_11d_handle_country_info for WIN codebase.

CRs-Fixed: 2310809
Change-Id: I7bcac4052c96917120adc59e9e2eaa0e3da8dff1
2018-09-15 07:40:13 -07:00
Rakshith Suresh Patkar
9cee4926f9 qcacmn: Add support for WBUFF module
Introduce a new module WBUFF, which maintains a
pre-allocated pool of skbs for each registered
module and allocates skbs when requeted from
these pre-allocated pools.

The module exposes the following APIs:
 1) wbuff_module_init
 2) wbuff_module_deinit
 3) wbuff_module_register
 4) wbuff_module_deregister
 5) wbuff_buff_get
 6) wbuff_buff_put

Change-Id: Icab723ce29a9a364c822756dee78a0dae1006180
CRs-Fixed: 2313443
2018-09-14 23:15:00 -07:00
Manikandan Mohan
2c3e194509 qcacmn: Fix OOB access in WMI_SAR_GET_LIMITS_EVENTID
Update handling of WMI_SAR_GET_LIMITS_EVENTID for a possible OOB that
can occur if param_buf->fixed_param.num_limit_rows is greater than
actual TLV length of param_buf->sar_get_limits array.

Change-Id: Iccacbb3689e6a7bdd73b2b1f0517d011ccf6d076
CRs-fixed: 2307276
2018-09-14 15:39:14 -07:00
gaurank kathpalia
cb62e4f846 qcacmn: Add src, and dst id support in P2P
In the scheduler_post_message, src_id is now added to
know the source module of the msg. the present scheduler
doesn't know about the same which is scheduler_post_msg

Replace the scheduler_post_msg with scheduler_post_message

Change-Id: I558adf0cf0335972a1318a5a33d22dc01d545645
CRs-Fixed: 2306015
2018-09-14 14:01:46 -07:00
Harprit Chhabada
61851e7f4d qcacmn: Initialize the struct variable
Initialize the cancel_scan_event variable used
in ucfg_scan_cancel_sync().

Change-Id: I120b14db6f31449136b74b28d452e029eace16cd
CRs-Fixed: 2313447
2018-09-14 12:18:23 -07:00
gaurank kathpalia
6a88d7bcad qcacmn: Add src, and dst id support in SCAN
In the scheduler_post_message, src_id is now added to
know the source module of the msg. the present scheduler
doesn't know about the same which is scheduler_post_msg

Replace the scheduler_post_msg with scheduler_post_message

Change-Id: I1f543cd443ab8cb19bf36fb581041ed3393077e8
CRs-Fixed: 2306017
2018-09-14 08:16:54 -07:00
Srinivas Pitla
90713473d1 qcacmn: Implement VDEV MLME State machine
This change implement VDEV MLME State machine based on design,
and handles valid events in each state and invokes legacy callback
APIs to perform state specific operations

Change-Id: I38a11778cba31276c720bc13c085ade60b1fb0c4
CRs-Fixed: 2307722
2018-09-14 08:16:51 -07:00
Srinivas Pitla
be8dac4d5d qcacmn: Define VDEV MLME component object
This change defines VDEV MLME object, and registers with object manager to
be notified on creation/destroy, and also initializes MLME SM

Change-Id: I75bb7de7326e4bbed21ef9653427c4e0694c3ffc
CRs-Fixed: 2307722
2018-09-14 08:16:48 -07:00
Srinivas Pitla
bc7748c852 qcacmn: Implement State machine framework
This is generic state machine framework, which provides APIs for state
definition, state transition, event posting

Change-Id: Ie7d5a064967098fcb77a663047c479d1d1576595
CRs-Fixed: 2307722
2018-09-14 08:16:44 -07:00
Anish Nataraj
2ae5e4c142 qcacmn: Add Rx nawds mcast drop counter while aggregate
Currently aggregate vdev/pdev is missing Rx nawds mcast drop
counter, add nawds mcast drop counter from peer

Change-Id: I10650639bf5c56410c0f5311090c8a544df89d5d
2018-09-14 08:16:41 -07:00
Radha krishna Simha Jiguru
91f9949832 qcacmn: Send ast_hash for peer create in nss
Add support to send ast hash during peer create.
This value will be used for packet enqueue to transmit block.

Change-Id: Iea188a4b60f96d7770037265d12e534ee2b55bba
2018-09-14 03:12:38 -07:00
Amar Singhal
413f3e289f qcacmn: Properly initialize pkt ptr record
Initialize packet pointer record is_free_pkt_ptr_record to false.
The code flow may not assign the pointer before usage.

Change-Id: I00a4dc0eaf7e426ce48ec746eba975b74d1fec34
CRs-Fixed: 2313459
2018-09-14 03:12:35 -07:00
gaurank kathpalia
8b7e2ee372 qcacmn: Add src, and dst id support in SCHEDULER
In the scheduler_post_message, src_id is now added to
know the source module of the msg. the present scheduler
doesn't know about the same which is scheduler_post_msg

Replace the scheduler_post_msg with scheduler_post_message

Change-Id: I795f5d714eebcdbb275daae782ffa6f4d8e7e950
CRs-Fixed: 2306019
2018-09-14 03:12:32 -07:00
Harprit Chhabada
2a719dc230 qcacmn: Add bound check
Add bound check for desc_id in tgt_mgmt_txrx_get_vdev_id_from_desc_id
and tgt_mgmt_txrx_get_nbuf_from_desc_id

Change-Id: Ie27c473061fb68f1d3486cbfe95c015be77203f9
CRs-Fixed: 2304610
2018-09-13 13:20:49 -07:00
Bala Venkatesh
1912c51cd1 qcacmn: Avoid possible NULL dereference
Avoid possible NULL dereference in function
tdls_get_all_peers_from_list.

Change-Id: I0d7dce6b8cabf5b8cee4429dbc2d5e64f1f32ce8
CRs-Fixed: 2311960
2018-09-12 22:27:26 -07:00
Harprit Chhabada
e166eb7b15 qcacmn: Add APIs to translate NL to crypto param
Add following APIs to translate NL param type to
crypto param type.

1.osif_nl_to_crypto_auth_type()
2.osif_nl_to_crypto_akm_type()
3.osif_nl_to_crypto_cipher_type()

Change-Id: Iba0d57e63db98cf81ed0ce5c0a79ae7f8239d1a9
CRs-Fixed: 2300761
2018-09-12 22:27:24 -07:00
Krunal Soni
13ca1cd2cf qcacmn: Fix policy manager utfw API to delete all connection
policy_mgr_decr_connection_count_utfw() API is using
policy_mgr_psoc_enable() API to reset policy manager table as well
as timer deinit but it does more than resetting the table which causes
a stablity issue. For example, policy_mgr_psoc_enable() API calls to
reinitialization connection_update_done_evt event which triggers
stability issue as it has been already initialized once.

Purpose of delete all connection option is, to reset the policy
manager table, to reset any timers which can be achieved by
calling policy_mgr_psoc_disable() followed by policy_mgr_psoc_enable()

Change-Id: Ie3328e150ead99418ddd5025b42a2669e95e1553
CRs-Fixed: 2305419
2018-09-12 20:45:23 -07:00
Harprit Chhabada
20ffac7774 qcacmn: Add CFG/INI items to extscan component
Add following extscan CFG items to common ext scan component

1.CFG_EXTSCAN_PASSIVE_MAX_CHANNEL_TIME
2.CFG_EXTSCAN_PASSIVE_MIN_CHANNEL_TIME
3.CFG_EXTSCAN_ACTIVE_MAX_CHANNEL_TIME
4.CFG_EXTSCAN_ACTIVE_MIN_CHANNEL_TIME
5.CFG_EXTSCAN_ALLOWED

Change-Id: Ib4e1acc2d1535f91a8dc084305cdf01f5d7f57f1
CRs-Fixed: 2292754
2018-09-12 17:57:22 -07:00
Liangwei Dong
44a7ab73f9 qcacmn: Add Drop beacon on Channel mismatch INI
Add ini drop_bcn_on_chan_mismatch, default: true.

The ini is used to decide drop the beacon or not
if channel received in metadata doesn't match
the one in beacon.

Change-Id: I6a25d472ae41f4a7f0bdb7a57002975938b2dc33
CRs-Fixed: 2312994
2018-09-12 17:57:07 -07:00
Amir Patel
3217ade780 qcacmn: For Rx multicast/bcast stats, make mcast as superset
make it inline with TX, make multicast stats to
include bcast packets also

CRs-Fixed: 2298834
Change-Id: Id30af0a6ddd784b268b9707ea2df1bcd255dd2cf
2018-09-12 10:23:30 -07:00
Venkat Karthik Kantamneni
f902e52618 qcacmn: WMI command/event Extended dump using qdf_debugfs APIs
Currently only 16 bytes of wmi command/event messages are logged
excluding wmi header information.

By enabling WMI_EXT_DBG whole command/event messages can be dumped
using qdf debugfs apis. This will help if it is needed to
collect whole command/event messages information.

Change-Id: I72dff1279b1145b8d2ee415db97656f457c0136f
CRs-Fixed: 2309286
2018-09-12 10:23:27 -07:00
Sravan Kumar Kairam
516330bf2e qcacmn: Unmap nbuf of pending mgmt frames
As part of wlan_mgmt_txrx_pdev_close only nbuf is freed
in case of cleanup path due to SSR or drive unload and
dma unmap is not done.

In this change:
1) Register a callback to mgmt_txrx component tx ops which
   does dma unmap of nbuf as part of pdev close.
2) Revert change id I6a7f5efa665a1da009e594248e88002df35ae9ff
   as there are potential race conditions using the APIs added
   as part of the change.

Change-Id: Id65388a5f4fcb989659bb2088a5e67a4e4e3d265
CRs-Fixed: 2313073
2018-09-12 08:50:20 -07:00
Rakshith Suresh Patkar
ecd7d60c6a qcacmn: Add QDF APIs for dev_scratch in network buffer
Kernel 4.14 and later supports dev_scratch for network
buffer which can be used to store data in a nbuf in the
format unsigned long.

Add APIs:
 1) qdf_nbuf_is_dev_scratch_supported
 2) qdf_nbuf_get_dev_scratch
 3) qdf_nbuf_set_dev_scratch

Change-Id: I2a72d369bb53f8f86d4bcee3cf6d13f5e4aff57f
CRs-Fixed: 2313270
2018-09-12 08:50:17 -07:00
Rajeev Kumar Sirasanagandla
0b9d49b447 qcacmn: Add object manager reference ID for legacy SAP
To identify legacy SAP FSM module add object manager
reference ID: WLAN_LEGACY_SAP_ID.

Change-Id: I0bfbafd39369d6cf982ac4f4552715b4ee7624f1
CRs-Fixed: 2312361
2018-09-12 07:08:23 -07:00
Liangwei Dong
3ff8cd1aa5 qcacmn: allow STA SAP SCC on DFS
If sta_sap_scc_on_dfs_chan = 1, we
allow the SAP on STA's DFS chan.
Allow this for DBS chip as well.

Change-Id: I115984c0e659ca00f244d7b477daf4ccb3f2ccd2
CRs-Fixed: 2306801
2018-09-12 02:19:25 -07:00
Ashish Kumar Dhanotiya
0e1895a859 qcacmn: Add mtrace logging for scan request
We are transitioning to new logging infrastructure
by using existing mtrace functionality.
Add new logging for complete scan request and response path.

Change-Id: Iac644a78ef521721d33ce7568be56b47c55fed6b
CRs-Fixed: 2308272
2018-09-12 00:14:17 -07:00
Rajeev Kumar
f60c3457b4 qcacmn: Use QDF_TRACE to log under spin lock debug feature
Use QDF_TRACE log macro to log spin lock abuse when spin lock
debug feature is defined.

Change-Id: I1e5db79f5e6f5fc343f1be000efff6907c4857e1
CRs-Fixed: 2312614
2018-09-11 18:27:27 -07:00
Gyanranjan Hazarika
3dff295d8c qcacmn: Changes for Draft 3.0
Make the HECAP and HEOP changes for 11ax Draft3.0.
Draft2.0 support can still be enabled by unsetting
SUPPORT_11AX_D3 in config.unified.wlan.profile.

Change-Id: I0c0fd885a43b672baca61011b75a51526481b1ee
CRs-fixed: 2294235
2018-09-11 16:42:22 -07:00
chenguo
f51e922a78 qcacmn: add radiotap flags for HE_TRIG frames
HE format in radiotap header are not being updated for HE_TRIG
frames. Add support for it. This is to support MU-OFDMA frames of
UL.

CRs-Fixed: 2223635
Change-Id: If0a93f6047185bcc51948b613d48d13ecb5e16cd
2018-09-11 16:42:19 -07:00
Shashikala Prabhu
6b4d64dbfa qcacmn: Add APIs to skip DFS CAC
Skip CAC if cac is already started on the same channel or the new channel
is subset of CAC started channel.

Change-Id: I8f6121f1f8d034acf3f0514a60401a3232becaa2
CRs-Fixed: 2309911
2018-09-11 16:42:17 -07:00
Sourav Mohapatra
474c614ddf qcacmn: Add FW Offload component UMAC ID
Add the UMAC enum ID for the new FW Offload enum.

Change-Id: Ia495ebd7d3a195839cae11a633b3bdc9ba7055ae
CRs-Fixed: 2307838
2018-09-11 12:03:15 -07:00
narayan
b57ed08389 qcacmn: Added wmi vdev param for setting sifs rate in target
This change is required as a part of setting sifs_rate in the
target through wmi command from host for legacy chipsets.

Change-Id: Ia3ed8a6d33fcb31b290129e1302dfc0000ad4626
CRs-Fixed: 2031293
2018-09-11 12:03:11 -07:00
gaurank kathpalia
5e652ebbb9 qcacmn: Add tracing in scheduler_post_msg_by_priority
Trace every msg, and print its src, and dest in
scheduler_post_msg_by_priority for ML logging

Print to F3, and trace it too

Change-Id: I64a2142bf3277e85e970132933f2157b95dad68d
CRs-Fixed: 2306043
2018-09-11 12:03:08 -07:00
Pratik Gandhi
4cce3e03cd qcacmn: Modify min value of DP configuration for emulation
Reducing min value of DP configuration parameter to support
low memory emulation platform.

Change-Id: I524dca73b3ce52e138527c7abd1a9d8d0cbe9ac1
CRs-Fixed: 2309295
2018-09-11 12:03:05 -07:00
Kiran Kumar Lokere
7ba00f3455 qcacmn: Define new test config attribute for HE OM control
Define new test config attribute to configure the support
for receiving the MPDU with operating mode control field.

Change-Id: I8f4885ebc705e2d6acfa0c97bdcd6b2bb4baaaca
CRs-Fixed: 2305757
2018-09-11 12:03:00 -07:00
Min Liu
fe330245af qcacmn: Fix vdev ref issue in tdls_process_del_peer
vdev ref is not released in some error path of tdls_process_del_peer,
which will lead to vdev obj failed to be deleted.

Change-Id: I439af4abbb4670d9252296b39d75eb435bb436fc
CRs-Fixed: 2311161
2018-09-11 08:44:21 -07:00
Qiwei Cai
5d4acd79ad qcacmn: Featurize BUILD_DIAG_VERSION
Featurize BUILD_DIAG_VERSION to compile out to save memory.

Change-Id: I4d221387003770e5344069dc4cf1f72b7ce9e0ad
CRs-Fixed: 2301492
2018-09-11 08:44:18 -07:00
gaurank kathpalia
302a1d9701 qcacmn: Add support for que_id in scheduler
Currently the scheduler cant differentiate between
the destination, and que to which it has to post the
message.

Add que_id, to differentiate between the destination
and que.

Change-Id: I94f81cb4b976dba4571f9cd0d6e059dc72024fcd
CRs-Fixed: 2308108
2018-09-11 03:49:11 -07:00
Om Prakash Tripathi
3c5c017507 qcacmn: Change radiotap HE log level from info to debug
Change log level for HE flags, HE data and HE MU info fields
added to radiotap header. Earlier log level of info used to
flood on console.

Change-Id: I7754df859bb315fff7e449e263e0d77cf412a852
CRs-Fixed: 2295965
2018-09-11 03:49:08 -07:00
Sourav Mohapatra
23310e82bb qcacmn: Add support to send RX stats to framework
As a part of the cfg80211_get_station command, the driver sends TX stats
(tx rate, MCS index, NSS and flags). Currently there is no support to
send the similar RX stats.

Add support to send RX stats to the framework.

Change-Id: Ic66596d118ad1395706db7638da1b4fdef7dc2d5
CRs-Fixed: 2303308
2018-09-10 17:45:04 -07:00
Debasis Das
0c88e0f704 qcacmn: Use wrappers for bus-oriented OS API's
Use appropriate wrappers for bus and platform related
OS API's.

Change-Id: I2b6d16f698816ef4851594717810bda6f167de32
CRs-Fixed: 2297169
2018-09-10 04:25:32 -07:00
sumedh baikady
faadbb6cd0 qcacmn: Handle addba req with incompatible buffersize
In HKv1 HW there is a buffersize setting per peer, hence
once we set buffersize we have to stick to this for all
subsequent requests for all tids. If buffersize in Addba
request is more than first session's buffersize, we restrict
buffersize to old value, else we send respond with new size
and send delba to previous sessions not compatible with new
buffersize

Change-Id: Ia71d994ee06ca7b37d93273f5fa69547f816dd20
Crs-fixed: 2247816
2018-09-10 04:25:29 -07:00
Ruchi, Agrawal
1ee51132c5 qcacmn: Change to avoid compilation issue HK2.0
EWMA macros which were used for sojourn stats
time delay calculation, causing compilation issue
for x86 platform as x86 platform is on kernel
version less than 4.3 and EWMA macros were
introduced after that version.

Change-Id: I184844c7df8e5b317a095355c2f6a9af9e4747ff
CRs-Fixed: 2308338
2018-09-10 00:49:24 -07:00
Bala Venkatesh
6da8bf6f3a qcacmn: Send TDLS set state disable command in concurrency
TDLS is not supported in concurrency and FW expects set state disable
command in concurrency. Currently, disable command is sent only if the
active connection is present when second interface comes up.

Send disable command to FW irrespecive of active TDLS connections.

Change-Id: I0716a6caf76a8a69da2225f22e385ce259c231b6
CRs-Fixed: 2305714
2018-09-09 13:14:07 -07:00