Commit graph

5,565 commits

Author SHA1 Message Date
Radha krishna Simha Jiguru
d359eb4268 qcacmn: Send ast hash value to NetAP
Send the ast hash value received in peermap to
NetAP for offload mode

Change-Id: I094c890d651fbe14d995a299d6a369394512c8b2
2018-09-17 09:38:58 -07:00
Harprit Chhabada
94508fceaf qcacmn: Update kernel version check
Kernel version check updated for fils akm suite
to support x86 kernel.

Change-Id: I19f57a91ddda90e3007ec26f35ddec95073df1c5
CRS-Fixed: 2315925
2018-09-17 06:09:55 -07:00
gaurank kathpalia
85e55d12d6 qcacmn: Add src, and dst id support in PKTLOG(WMA)
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: I166f4c943b9a21749c53ed19101b0ed0defd8491
CRs-Fixed: 2306013
2018-09-17 06:09:52 -07:00
gaurank kathpalia
5f5b7039bf qcacmn: Add src, and dst id support in TARGET-IF
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: I24a94a898fc1f8c3c1e2f1faca0ef51aacdb238c
CRs-Fixed: 2306016
2018-09-17 06:09:48 -07:00
gaurank kathpalia
5d3b5a2424 qcacmn: Add src, and dst id support in TDLS
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: I184827ec58625dc60be67b8f16aa7e698ecc893e
CRs-Fixed: 2306014
2018-09-17 04:27:08 -07:00
Vivek
1a71e634a8 qcacmn: Remove redundant check when moving cmd from pending to active
The API wlan_serialization_is_active_cmd_allowed should used
when a serialization request is received and we need to decide
if a command can be moved to active queue or pending queue.

However when moving pending to active, the logic to move pending to
active is implemented in the function itself and is different from
what is implemented in wlan_serialization_is_active_cmd_allowed and thus
should not be used.

Change-Id: If04edf4a0012d9ae6cbbea9606b0e6b962f10b65
CRs-Fixed: 2312991
2018-09-17 04:27:05 -07:00
Venkateswara Swamy Bandaru
33b1bdd1b6 qcacmn: Fix bucket calculation in NAPI case
Take care of corner case when normlized value is just
one more than QCA_NAPI_BUDGET and add normlized to debug prints.

Change-Id: Ife2010b0ada534a487639dbb780e24445d98c045
CRs-Fixed: 2286601
2018-09-17 04:27:02 -07:00
gaurank kathpalia
d0499517e4 qcacmn: Add src, and dst id support in UCFG/HDD
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: I37532d323a0945b522087a23a65396ba2899fb5b
CRs-Fixed: 2306011
2018-09-17 02:58:18 -07:00
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