نمودار کامیت

5185 کامیت‌ها

مولف SHA1 پیام تاریخ
Sravan Kumar Kairam
d0f08ef155 qcacmn: Assign DMA address correctly to all scatterlist elements
Assign DMA address correctly to all scatterlist elements of scatter
gather table in qdf_mem_shared_mem_alloc() func.

Change-Id: I07988d0bc35e3e0fcf7b9f6df02a9e56a0e8b083
CRS-Fixed: 2110715
2018-07-16 18:32:36 -07:00
Om Prakash Tripathi
989c563fb0 qcacmn: Add WLAN_MLME_OBJ_DEL_ID for tracking obj deletes
Add WLAN_MLME_OBJ_DEL_ID for tracking obj delete requests
sent to target and responses received from target.

Change-Id: I7d7de4b168f1e7174f1cbb213bfe0f75aaa63db9
CRs-Fixed: 2271367
2018-07-16 10:42:52 -07:00
Vignesh Viswanathan
eec5a3331e qcacmn: Fix cfg_in_range macro for different CFG Types
Due to some inconsistency in defining definition of cfg_##mtype##_in_range
and the mtype of the CFG_INI_xxx definitions, usage of cfg_in_range
was causing compilation issues.

Fix the cfg_in_range related macros with correct mtypes

Change-Id: I239a5f8735e5f2d7807b4947e36a655f58f26210
CRs-Fixed: 2278335
2018-07-14 05:00:10 -07:00
Nirav Shah
a175314c51 qcacmn: Map all module logs to per-level log APIs
Map all module level log APIs to per-level log APIs
to compile out specific log level if required.

Change-Id: I4072b6740cb43200fd95c40943b66e1d5f8f1847
CRs-Fixed: 2266719
2018-07-13 10:36:22 -07:00
Akshay Kosigi
5902dfd254 qcacmn: Remove filling mgmt_ctrl frame buffer for NON TLV payload
Reverting the change where mgmt ctrl frame buffer was assinged NULL for
NONTLV payload case as this check is handled later in the same path.

Change-Id: Icccfb401fe34da593198bac27650139654021636
CRs-Fixed: 2276923
2018-07-13 10:36:20 -07:00
Jeffin Mammen
a69c898fed qcacmn: Remove unused ATF functions
Remove the ATF API that is not used anymore

Change-Id: Ib133689c773b1ce4244230643b397509fc147a23
CRs-Fixed: 2275107
2018-07-13 08:27:25 -07:00
Liangwei Dong
ea0a27f56a qcacmn: Set hw mode Id to FW
Firmware needs HW MODE ID not list index.
Use HW mode ID to set HW MODE WMI command.

Change-Id: I12f9d83daee1c99706c345d85f03781257b492bf
CRs-Fixed: 2256175
2018-07-13 08:27:23 -07:00
Zhang Qian
edaa38708e qcacmn: Flush TxLookupQueue for WMI_CONTROL_SVC during htc_stop
TX comletion for WMI_FORCE_FW_HANG_CMDID would come after
TARGET_STATUS_RESET is set. In such a senario, there would
be memory leak.

Flush TxLookupQueue for WMI_CONTROL_SVC during htc_stop.
Since netbuf is freed in ISR, just free HTC frame here.

Change-Id: I5fab3effda1db70fa9b1208c854231a88b48309b
CRs-Fixed: 2242862
2018-07-13 08:27:21 -07:00
Chaoli Zhou
d519e6b287 qcacmn: Remove boring log of spectral scan
Such log will show once has the spectral scan result message
need to send to application, which is boring and delete it

Change-Id: I4e7fd8877b354d94022b65a8e43cc4ca3e285943
CRs-Fixed: 2274032
2018-07-13 06:42:57 -07:00
Mohit Khanna
163c3170a1 qcacmn: fix dptrace for data packets
Enable tracing for TX/RX data packets
Donot print stats with 0 value

Change-Id: I4bab6537494c4ee0fe290e3778fb5662bf5abd66
CRs-Fixed: 2269193
2018-07-13 02:58:46 -07:00
Paul Zhang
d82819b457 qcacmn: Use peer mac to get station stats
Currently, it uses the dev mac as peer mac addr for parameter and
the function wlan_obj_psoc_peerlist_get_peer_by_pdev_id returns
NULL because the mac addr does not match. Then the callback will
be ignored for WMI_UPDATE_STATS_EVENTID.

Change-Id: I6e257d3103315bbacb66b3f5db660cfa883966b5
CRs-Fixed: 2272056
2018-07-13 02:58:43 -07:00
Venkata Sharath Chandra Manchala
30e442b026 qcacmn: Disable monitor mode for QCA6390
Setup monitor mode rings and allocate
descriptors only if QCA6390_MONITOR_MODE is
defined.

Change-Id: I9c9bdc1e325eda822a326d64d6445a7112083420
CRs-Fixed: 2271998
2018-07-13 02:58:41 -07:00
Qiwei Cai
59ec405e49 qcacmn: Allocate roam debug buffer dynamically
Allocate memory for global_wlan_roam_debug_table dynamically.

Change-Id: I73a7654cbe75c288aae58e50c6d2072dc6a1e2fe
CRs-Fixed: 2275994
2018-07-13 02:58:39 -07:00
Akshay Kosigi
78eced8c1d qcacmn: Add UMAC peer into DP peer structure
Add and initialize UMAC peer handle into DP peer structure as opaque
and to pass UMAC node structure to ol if layer for Block Ack and
rx_frag_tkip_demic functions.

Change-Id: If7c3faf859c97832c3c7f50fc163142b68eedeeb
CRs-Fixed: 2241356
2018-07-13 00:54:11 -07:00
Akshay Kosigi
0e7fdae9fd qcacmn: Move DP OL ops to target if layer
Move few common dp_ol_if_ops functions to target_if layer as part of
DP-CP interaction convergence

Change-Id: I9ad740af687f550f64ef8f81919159b73204e7b8
CRs-Fixed: 2243694
2018-07-12 18:02:13 -07:00
Nirav Shah
f1e3fb5c6a qcacmn: Add hif register windowing support
Add hif register windowing support for
Genoa.

Change-Id: I216382aed4dba25ccdcc1126f73f0096f398a5b3
CRs-Fixed: 2265915
2018-07-12 12:34:55 -07:00
Sravan Kumar Kairam
5a6f590ed0 qcacmn: Add api to set ctrl pdev to dp pdev handle
Add cdp api to set UMAC ctrl pdev to dp pdev handle.

Change-Id: I12a1b6e04bce0b72257c87435d027d66d9156ca7
CRs-fixed: 2273029
2018-07-12 12:34:52 -07:00
Shashikala Prabhu
d50f3a6b05 qcacmn: Fix 4.9GHz issue for legacy devices
In the scan channel list, host sends both 2.4GHz and 4.9GHz channels to FW
because there are ieee channels which have same value in 2.4 GHz and 5GHz
bands.  Example: channel 1 is 2.412 in 2.4GHz and 4.942 in 5 GHz.
When converting a channel to freq, the host uses low/high 2GHz and 5GHz
frequency ranges. For a partial-offload 5GHz pdev, both low/high 2.4 GHz
and 5 GHz frequencies are set and hence 4.9 GHz channel is converted to
2.4GHz frequency.

To fix the above issue, based on the wireless modes remove either low/high
2.4 GHz or low/high 5 GHz frequency based on the wireless modes.

Change-Id: I1fb0a56c70d1dc0ffc2731da3f25c910af46bb41
CRs-Fixed: 2239771
2018-07-12 04:58:51 -07:00
phadiman
0381f56e17 qcacmn: Add sanity checks
Add sanity checks for ast_entry
structure

Change-Id: I361fac6b62f4b437f8d8d126fbb922d42b9b1b00
2018-07-12 04:58:49 -07:00
Soumya Bhat
1dfef0346b qcacmn: Reset variables appropriately
In existing code, variable used to track mgmt. and control
TLV is getting reset only in success case.

Add change to reset it appropriately.
CRs-Fixed: 2248313

Change-Id: Ieac5dc215f441b0530013ea1e36abcba19294754
2018-07-12 04:58:47 -07:00
Shreedhar Parande
62f2bb9136 qcacmn: PreCAC auto channel switch support
Changes to switch to the preferred preCAC channel after the
preCAC is done.
User can configure non-DFS channel as an intermediate
channel to reduce AP bringup time, and configure the DFS
channel as usual. PreCAC Logic will use the intermediate
channel as the home channel and will prioritize the DFS channel
to start preCAC first and switch automatically after the preCAC
timeout.
Command to configure intermediate non-DFS channel
iwpriv wifiX interCACChan <non-DFS channel num>
Assumption:
Intermediate channel should be configured before configuring
the DFS channel as operating channel.

Change-Id: I1dc00fa395aec53bfe5a6361095cd7d77ced503c
CRs-Fixed: 2272085
2018-07-12 01:33:19 -07:00
bings
0508016ef9 qcacmn: Skip DFS channels for SAP/GO when station exists
Currently DFS channels are skipped for SAP/GO in cds_get_channel_list
when ini g_sta_sap_scc_on_dfs_chan is configured as 0.

Refine the logic of DFS channels skipping when station exists. Do not
select DFS channels for SAP/GO when below cases are both satisfied.
1. Station exists.
2. Ini g_sta_sap_scc_on_dfs_chan is set as 0.

Change-Id: I2f082388a662d54968b3c2e95e5713eeffa1b131
CRs-Fixed: 2275724
2018-07-11 23:36:32 -07:00
Sandeep Puligilla
6f083bace3 qcacmn: Fix spectral scan compilation issue
Forward declare 'struct wmi_spectral_cmd_ops' in
file wlan_spectral_utils_api.h to avoid
compilation issue when spectral feature flag
is disabled.

Change-Id: Iba8dfbb2007f20d409fbb2d67ee29f702264e50d
CRs-Fixed: 2269005
2018-07-11 23:36:30 -07:00
Kiran Kumar Lokere
0c66f3ef10 qcacmn: Define new test config for HE MU EDCA params
Add new wifi test configs for HE MU EDCA parameters

Change-Id: I1818d7d5ca106b1d5d22188e484fe630a757a67e
CRs-Fixed: 2273817
2018-07-11 18:45:59 -07:00
Dustin Brown
6d5b8fa8e7 qcacmn: Remove unused osdep APIs
osdep contains many legacy APIs which have better counterparts elsewhere
in QDF. Remove unused APIs from osdep to avoid reintroducing their
usage.

Change-Id: I912b6d0dae510e96f5ab520d5d5b4ac6c60fbe86
CRs-Fixed: 2276316
2018-07-11 18:45:56 -07:00
Dustin Brown
25855170f7 qcacmn: Ensure an nbuf is not mapped during free
Currently, there is no logic to ensure a given nbuf has been properly
unmapped when it is freed. This can lead to side-effects when the same
address is allocated for an nbuf in the future. Ensure a given nbuf has
been unmapped during free to ensure all nbufs are properly unmapped.

Change-Id: I925af1fbbbde6baa0f12a4468a33332bc75bdfbc
CRs-Fixed: 2271768
2018-07-11 14:29:37 -07:00
Akshay Kosigi
dbbaef4f81 qcacmn: Add UMAC vdev into DP vdev structure
Add and initialize UMAC vdev handle into DP vdev structure.

Change-Id: If0895bfdc773569cc9b40d735b6237522692cd57
CRs-Fixed: 2236237
2018-07-11 14:29:35 -07:00
Shashikala Prabhu
7650ed9900 qcacmn: Assign an enum value to an undefined dfs region
Assign an enum value to an undefined dfs region.

Change-Id: Ia078b3853db38e54d2340e07f7bbd2b636e16bc2
CRs-Fixed: 2274203
2018-07-11 14:29:32 -07:00
Dustin Brown
a275f21008 qcacmn: Cleanup qdf_event logs
qdf_event has a number of overly verbose logs, which use QDF_TRACE
directly. As direct use of QDF_TRACE is deprecated, optimize logs in
qdf_event and replace any remaining QDF_TRACE calls with qdf_*()
logging macros.

Change-Id: I89491d7e49ea323d1bc3a32789c005b0238f0099
CRs-Fixed: 2270770
2018-07-11 14:29:29 -07:00
Venkata Sharath Chandra Manchala
9a59bd6483 qcacmn: Add a new parameter to the srng table
Add max_size parameter in the hw_srng_table
to hold the maximum size for a given ring.

Change-Id: Ibfce021505ab9a55d3208b1c5aba26021d1fe230
CRs-Fixed: 2262818
2018-07-11 14:29:27 -07:00
Varun Reddy Yeturu
342371e063 qcacmn: Add locks to serialization component
Serialization component's APIs may get called by various
component owners through different thread contexts. This makes
lock a mandatory requirement in order to prevent any shared data
corruption.

Implement abstract lock APIs within serialization component and
use them in all public serialization APIs which access various
command queues.

Protect the serialization list node by introducing a check for
the state of the node and check for the state before deleting
the node.

Change-Id: Ida74b2e958e37943f1ebedb854d5c35862813498
CRs-Fixed: 2226663
2018-07-11 14:29:24 -07:00
Jianmin Zhu
480210436f qcacmn: Avoid race condtion in wlan_serialization_pdev_scan_status
wlan_serialization_pdev_scan_status is used to check whether
there is scan cmd in active or pending list,  don't need to
check details of each node in list.

While checking details of a node in list by wpa_supplicant,
the node may be removed by mc thread in race condition.

Change-Id: I019869c23ebb7d6e157babf5ad6eaf0668ff842a
CRs-Fixed: 2268619
2018-07-11 14:29:21 -07:00
Dustin Brown
98b7303494 qcacmn: Add timeout QDF_STATUS to errno mappings
QDF_STATUS_E_TIMEOUT is currently mapped to the default -EPERM in
qdf_status_to_os_return(). Add a mappings to -ETIMEDOUT instead.

Change-Id: I61af2fb00ee83118ba09b2c3fbc5995b14212d87
CRs-Fixed: 2275459
2018-07-11 14:29:19 -07:00
c_priys
0757caeff0 qcacmn: Initialize wifi_core_id to default value
During device reset, wifi_core_id will not be initialized if the
target is not in ready state. Hence assigning default value to it.

Change-Id: I91f3f640ed9252351cb82fbde2515c9308992635
CRs-Fixed: 2180836
2018-07-11 14:29:16 -07:00
Dustin Brown
352de8a613 qcacmn: Add qdf_thread_run and qdf_thread_join APIs
For cases where you want to create and immediately start a thread, the
Linux kernel has the kthread_run() API. Create a QDF wrapper for
kthread_run() as well as companion APIs for waiting for a thread to exit
and one to check if the current thread should exit.

Change-Id: Ia4e107010fc400f764661a9b36aceea970841ade
CRs-Fixed: 2270827
2018-07-11 14:29:13 -07:00
Will Huang
d6c3b87fcd qcacmn: Fix active_tasklet_cnt mismatch issue
Issue can be reproduced when test D0WOW ROME PCIE.
Multi interrupts may only trigger tasklet one time,
which will cause active_tasklet_cnt mismatch.

Check tasklet/napi scheduled state

Change-Id: I66b5544c4d57fe91eae75d4cf8578e30b498e1fd
CRs-Fixed: 2070872
2018-07-11 14:29:10 -07:00
Wu Gao
fe1ee41cd8 qcacmn: Do not request new ROC if there is idle ROC in queue
When transmitting management frames, do not request new ROC if there
is idle ROC on same channel in queue.

Change-Id: Id7b33aa2b9fa376675c520161e4c907ea0593c88
CRs-Fixed: 2275191
2018-07-10 18:42:11 -07:00
Krunal Soni
304792abd8 qcacmn: Fix peer ref counting leak while finding and deleting peer
There are two instances where peer ref counting leak has been observed
1) When DUT-STA is connected to AP1 and if it tries to roam to AP2 or
   to same AP1 then as part of roam sync indication, it needs to delete
   the old peer and create the new peer. Deletion of old peer is
   happening through force delete operation which is No-OP for some of
   the platforms. In such cases, do normal peer delete operation, so
   that peer ref count can be deleted properly.

2) When looking up peer by its associated vdev, driver goes one by one
   all peers and check their associated vdev and compare with given
   vdev. If it doesn't find the match then it returns without releasing
   the reference count.

CRs-Fixed: 2263607
Change-Id: Ibcad72943258e531e29498961d3d7e692fd05b36
2018-07-10 18:42:09 -07:00
Rajeev Kumar Sirasanagandla
6b6b91db11 qcacmn: Update QDF API to convert ASCII hex char to decimal value
To convert ASCII hexa decimal character to unsigned value and similarly
to convert string of ASCII hexa decimal characters to array of decimal
values, there is need of QDF API.

Therfore, add QDF wrapper functions to kernel API hex_to_bin() and
hex2bin().

Change-Id: I4692961eeba9067f9b737f7deeefca397ff1a7bf
CRs-Fixed: 2274320
2018-07-10 18:42:07 -07:00
Ashish Kumar Dhanotiya
587df12305 qcacmn: Invalid dependency of header files
There is an invalid circular dependency of header files in the
driver. qdf_nbuf.h file includes itself as qdf_nbuf.h file
includes i_qdf_nbuf.h and i_qdf_nbuf.h again includes qdf_nbuf.h.

To resolve this issue, do not include qdf_nbuf.h in i_qdf_nbuf.h

Change-Id: I940321b23e95a81601657d149ff31826db2522ba
CRs-Fixed: 2267066
2018-07-10 15:40:08 -07:00
Rathees kumar Chinannan
b8f2d083bd qcacmn: Add support to extract Extender IE in beacon
Added support to extract extender IE in beacon receive.

Change-Id: I04ee63a6c1280e2e3858eb665c549de800d672f4
CRs-Fixed: 2258771
2018-07-10 15:40:06 -07:00
Rajeev Kumar
49496d088a qcacmn: Enable CE scheduling logging feature
Enable CE schedulign logging feature such that each CE
activity can be recorded for debug purpose. Previous commit
I68a765c6219a2ff2a6a7adc7e8ed031f8957d243 has broken this
debug feature. Fix the CE scheduling logging feature properly
such that its available in SLUB debug enabled builds.

Change-Id: I24ca711378ecda8a8563fe3899fae16ca032f29d
CRs-Fixed: 2272459
2018-07-10 14:06:49 -07:00
Dustin Brown
fe41df9c00 qcacmn: Move panic messages into QDF_DEBUG_PANIC
QDF_DEBUG_PANIC has recently gained a reason parameter. Move instance of
logging followed immediately by QDF_DEBUG_PANIC to single calls.

Change-Id: Ifc00be410621005e8494074ed00b1b7e44cc6a03
CRs-Fixed: 2271769
2018-07-09 15:55:35 -07:00
Abhinav Kumar
9791957823 qcacmn: Fix high latency during BTM roaming
While processing the WMA_ROAM_OFFLOAD_SYNCH_IND event, The
driver takes nearly 150 to 200 msec time to just write fatal,
error and info messages to the kmsg log buffer. Also to get
tx power supplicant runs another thread while roaming. These
cause more latency(300ms) to send WMA_ROAM_OFFLOAD_SYNCH_CNF
message to fw. To decrease roam latency, the driver should
write the only necessary error message to kmsg buffer.

Fix is to change irrelevant fatal, error and info message type
to debug.

Change-Id: I521104c692eb42112ce2528c15d09785ff3470b6
CRs-Fixed: 2261592
2018-07-09 12:58:34 -07:00
Sriram Madhvapathi
6615d89b58 qcacmn: SDIO HIF Layer refactor
1. Modifications for SDIO HIF interface with stack.
 Mailbox based devices do not use the SDIO abstraction layer.
 So, devices like QCA6174, QCA9379 etc are to interface with
 the SDIO stack directly, even if the CNSS wrappers are used.
 ADMA based devices use the SDIO abstraction layer. So, devices
 like QCN7605 do not interface with the SDIO stack directly.

2. Remove redundant osdrv layer and refactor the functions
3. Propagate hif context to all the interface functions in hif
4. Remove duplicate hif object allocation (scn) in SDIO hif

Change-Id: I75cfe97b1ef913d1a3e6e556ec5eff796eb9f1d9
CRs-Fixed: 2271110
2018-07-09 12:58:31 -07:00
Pragaspathi Thilagaraj
7bfb1e9baf qcacmn: Fix OOB read in iw_hdd_set_var_ints_getnone
From the IOCTL command WE_POLICY_MANAGER_PCL_CMD, we get the cds
concurrency mode as argument and pass it to cds_get_pcl to get
the pcl channel list. This concurrency mode parameter is used as
the array index to retrieve the enum cds_pcl_type. If this value
is greater than CDS_MAX_NUM_OF_MODE an OOB read will occur in
iw_hdd_set_var_ints_getnone.

Add check to validate the input cds mode argument against the macro
CDS_MAX_NUM_OF_MODE. Return error if it is violated.

Change-Id: I51073061be363d9680abf0566b77be7c7573d0fe
CRs-Fixed: 2233991
2018-07-09 07:03:07 -07:00
Liangwei Dong
bf9efa7561 qcacmn: Extract Hw mode Id and band info
Extract/Save the Hw mode ID and Mac0 band info
to hw mode list.
This helps to identify the 2x2 5G + 1x1 2G and
2x2 2G + 1x1 5G.

Change-Id: I0682337b1a80c1b502c3307e0847aaa99479d2d3
CRs-Fixed: 2256152
2018-07-09 07:03:04 -07:00
Rachit Kankane
dfd97f38f6 qcacmn: Call blocking functions in right context
Call blocking functions free_g_qdf_dp_trace_tbl_buffer and
allocate_log_msg_buffer under non-atomic context.

Change-Id: I534c95b19cb08472db4a4a0f8285769841b00326
CRs-Fixed: 2273581
2018-07-09 05:32:55 -07:00
Akshay Kosigi
1a9c6d1d4c qcacmn: Rename osif_pdev and os_if_vdev in dp_pdev and osif_dev
structures

Rename osif_pdev to ctrl_pdev and os_if_vdev to ctrl_vdev in dp_pdev and
osif_dev structures respectively which are
pointing to objmgr_pdev and objmgr_vdev structures to maintain
uniformity

Change-Id: Ida95a1a90ea74513573f00c652338baee3df897a
CRs-Fixed: 2241362
2018-07-09 02:02:23 -07:00
Rachit Kankane
371fce287d qcacmn: Allocate MAC Trace buffer dynamically
Allocate memory for g_qdf_trace_tbl buffer dynamically.

Change-Id: I5e9ba0a33e220ead36e0775f00000346aae68373
CRs-Fixed: 2267922
2018-07-08 23:30:46 -07:00