Grafico dei commit

5978 Commit

Autore SHA1 Messaggio Data
Amir Patel
3ccfa6a645 qcacmn: Add accumulated last_tx_rate in cdp_tx_stats
Add accumulated last_tx_rate stat in cdp_tx_stats

Change-Id: I3d939b0f058e838e426c5fd77d576deb008288b6
2018-11-22 02:29:56 -08:00
Shashikala Prabhu
dae5623949 qcacmn: Use qdf API to allocate aligned memory for direct buffers
In target_if_dbr_fill_ring(), min_buf_align (8 bytes) was added to
min_buf_size before allocating the memory for dbr_buf_pool. This leads to
extra 1MB allocation.

To avoid this extra allocation, call qdf_aligned_malloc() to allocate
aligned memory for direct rx buffers.

Change-Id: I72f7c616c7a699437b081de7149a4a67a3ad30c4
Acked-by: Shashikala Prabhu <pshashik@codeaurora.org>
CRs-Fixed : 2336697
2018-11-22 00:43:55 -08:00
Shashikala Prabhu
f09216fe1b qcacmn: Add qdf API to align the allocated memory
Define qdf_aligned_mem_alloc_consistent() and qdf_aligned_malloc() which
allocates the memory and checks if allocated base address is aligned with
ring_base_align. If not, it frees the memory and re-allocates by adding
7 bytes to alloc_size and returns aligned address to the caller.

Change-Id: I412153c20e4e4566450b006356fe78d98f1fd3f0
Acked-by: Shashikala Prabhu <pshashik@codeaurora.org>
CRs-Fixed: 2336697
2018-11-22 00:43:51 -08:00
Kiran Venkatappa
74e6d8b510 qcacmn: Enable AST workaround only for HKV1
HKV1 does not have support to maintain per pdev AST table.
Hence workaround is required to ensure that AST entry is deleted before
adding an entry with same MAC. This syncronization needs to done across
pdev. This workaround in required on for HKV1, add changes to enable
workaround only for HKV1 and disabled for other platforms.

Change-Id: I9aa43ea51fdff2f02cdcc8ff7e906c7305446317
CRs-Fixed: 2344921
2018-11-22 00:43:47 -08:00
Kiran Kumar Lokere
7ec465930a qcacmn: Add support to configure action frame in HE TB PPDU
Add support to send the action frame in HE TB PPDU configuration
to firmware.

Change-Id: I8f8f63652e0890736266766b283411464f8903b9
CRs-Fixed: 2347028
2018-11-22 00:43:44 -08:00
Kiran Kumar Lokere
605e7a710b qcacmn: Add new crypto serivce apis for security checks
Add new crypto component service apis to check the security
match.

Change-Id: I66336c4924b2a2c203d6ba197ab649725f960ef8
CRs-Fixed: 2337195
2018-11-22 00:43:41 -08:00
sumedh baikady
61cbe85a14 qcacmn: Per tid BA window size enhancement for HKv2
For HKv2, BA window size can be configured on per tid
basis as opposed to per peer basis on Hkv1. This per
peer per tid configuration on Hkv2 is for Tid 0 to 7.

Change-Id: Ic4afee92792af829a9ad8fdfc211625743b9d052
2018-11-21 22:59:19 -08:00
Aniruddha Paul
c34164e97e qcacmn: Add support for NSS DBTC mode
Add dbtc support for NSS offload mode.

Change-Id: I3673c0a42071f7d7767e086618c0171658e8a6f0
CRs-Fixed: 2330655
2018-11-21 22:59:16 -08:00
Chaithanya Garrepalli
0a5f71bca1 qcacmn: remove the QDF_BUG in src port learn when peer found
Remove the QDF_BUG in sa valid case when AST entry is not found
and peer is found as this can be a valid case in DBDC repeater

In DBDC repeater case we may receive the L2UF frame sent on 5G
radio on 2G interface

In this case SA will be valid and peer will be found for 5G VAP
mac address, but ast entry will not be found in ast_table as we
dont receive peer map events for STA vaps

Change-Id: I22e8582605f59a8691d8fcbb43627655d1a6500c
2018-11-20 12:19:12 -08:00
Aditya Sathish
1ce1a2e34a qcacmn: Fix WMI for peer channel re-intersection
Fix WMI message for peer channel width switching to account
for reserve space allocated in the message between num_peer
and chan_width_peer_list.

Change-Id: I5f0cec3c263cb68f44f0fcaa2aa26d120e807b1a
CRs-Fixed: 2352372
2018-11-20 10:31:40 -08:00
Lin Bai
5c0d751414 qcacmn: Typecast variable to same type before comparison
Typecast 'rowsize' to qdf_size_t, to avoid compiler error
'comparison of distinct pointer types lacks a cast'.

Change-Id: I29e05a1f0d165accf3bebefc0af2b9f97cac0f5d
CRs-Fixed: 2350601
2018-11-20 05:28:55 -08:00
Pavankumar Nandeshwar
ad5e0bd66f qcacmn: Change fwlogs API for smartlogs
Add function pointers for calling smartlogs init and deinit.

CRs-Fixed: 2008290
Change-Id: I4734e490394a24f5a39eb50f3ac386ad99834cb3
2018-11-19 11:05:49 -08:00
chenguo
420a4425dc qcacmn: Fix peer ref_cnt unmatch issue in TQM bypass mode
The reference counter will be increased after using peer find by
id API. So the unreference operation must be performed whenever
the peer which is returned by this API is released. Fix one peer
ref_cnt unmatch issue in TQM bypass mode.

CRs-Fixed: 2348316
Change-Id: Icae09b351315f38d9b7521b29c0e930339c9f83a
2018-11-19 08:04:11 -08:00
Vivek
0844327b5e qcacmn: Remove unused and duplicate members from vdev_start_params
Remove the unused fields from WMI unified vdev_start_params structure.
The channel information duplicated in vdev_start_params and
it sub structure channel is removed and all implementations
can use the channel sub structure directly.

Change-Id: I47cf4c4223111b6f564ec8336dbfcda4592e8e0c
CRs-Fixed: 2350505
2018-11-19 03:19:44 -08:00
Lin Bai
fba89964c1 qcacmn: Fix unresolved function compiler error
reset_control_get not defined without CONFIG_RESET_CONTROLLER, use
reset_control_get_optional instead accordingly.

Change-Id: Ibd1c68a2fe8f063dffb556b4c0e49eca96eb0b86
CRs-Fixed: 2350601
2018-11-18 22:08:04 -08:00
Lin Bai
e4599388bd qcacmn: Fix variable uninitialized compiler error
Initialize revision_id to avoid compiler error as
'variable may be used uninitialized'.

Change-Id: Ia76b297e0f0f745284c7d0ede72a55dcc3d0dc65
CRs-Fixed: 2350601
2018-11-18 22:08:01 -08:00
Karunakar Dasineni
700ad73754 qcacmn: WAR for duplicate buffers in monitor mode
WAR to discard duplicate indications (buffers and link descriptors)
from monitor DMA seen sometimes on RXDMA2SW ring.

Change-Id: I687b782f54fbbf85ae932ee833ac9263b5879ca6
2018-11-17 10:48:13 -08:00
Abhinav Kumar
45cff82c5f qcacmn: Block all new scan during suspend mode
After driver suspend some thread can still queue scan req
which will cause scan during suspend and WOW_ENABLE received
while SCAN in progress.

TO avoid this block all new scan during suspend.

Change-Id: I02ddc9b5e6ba5f1782d00e34f044ace34c54d0b0
CRs-Fixed: 2343385
2018-11-17 03:25:31 -08:00
Bala Venkatesh
b966910cb6 qcacmn: Add BSS peer for P2P client mode
Set bss peer for both STA and P2P client mode.

Change-Id: Ic25e48930511ff6c6e3af8c9bbdb9425ec654f04
CRs-Fixed: 2332938
2018-11-17 01:59:13 -08:00
Krishna Rao
cc54e49b78 qcacmn: Add array bounds check and count update for FFT bin array
Add an array bounds check for the FFT bin arrays in SAMP message so
that they do not overflow even if an unexpectedly high FFT bin count
parameter is requested by the caller. Also reflect FFT counts limited
by bounds check into SAMP message. These changes act as an additional
guard sequence - functionality for the calling path itself to reject
samples that exceed the expected FFT bin count or have other
unexpected issues will be added in the future based on target side
profiling.

Change-Id: I4af24f623691cc2c2b04243cb64f05d159f035f6
CRs-Fixed: 2348397
2018-11-16 15:11:47 -08:00
Frank Liu
6cbf9764e6 qcacmn: Fix KW issue in tdls
Potential NULL pointer dereferences in below functions:
tdls_delete_all_tdls_peers_flush_cb()
ucfg_tdls_notify_sta_connect()

Change-Id: Iee31d91b31c5921fbd5cc70e0b893093b496ee43
CRs-Fixed: 2350930
2018-11-16 13:34:52 -08:00
Wu Gao
e416a99c8a qcacmn: Add API to check the value is in range of bool type
Since there is user case to check the input value is in range of bool
type, add API to support it.

Change-Id: I03b225210768506e53ca60a0dd71af58e4f142a9
CRs-Fixed: 2350740
2018-11-16 13:34:49 -08:00
Alok Kumar
80488cef11 qcacmn: Fix NULL pointer derefence and possible OOB issue
Add validity check for possible OOB and NULL pointer dereference

Change-Id: Icc51ee44271b575bf6b7a6fb83f074c8729cd887
CRs-Fixed: 2347448
2018-11-16 13:34:45 -08:00
Shashikala Prabhu
58b8be02d1 qcacmn: List 2G frequency list in scan_config command
scan_config command for 2G pdev was not listing 2GHz frequencies.
Fix frequency range check condition in is_chan_enabled_for_scan() to
include 2G frequency in the scan channel list.

Change-Id: I9883583505ab318328999c5cf2dd33e687a784b2
CRs-Fixed: 2350530
2018-11-16 13:34:42 -08:00
Manjunathappa Prakash
c6e684b128 qcacmn: pkt_log: Use qdf_spin_lock APIs debug infrastructure
Use QDF spin_lock APIs so that we can make use the debug infra.
This will help to identify catch issue related to unbalanced lock
operations or unexpectedely long locks.

Change-Id: I318bcb90340d98813f19862fda14e6ada30bbed6
CRs-Fixed: 2349308
2018-11-16 13:34:38 -08:00
Om Prakash Tripathi
f8ccc18f6a qcacmn: Check delete in progress before adding wds entry
In Repeater configuration when a STA first associates to Root AP
on some radio and then roams quickly to repeater AP on other radio,
some times target assert is observed due to below race condition.
1. Root AP sends peer delete command to FW on radio X and clears
   its AST entry. This peer delete command not processed by FW yet.
2. STA roames to repeater AP and starts ping traffic to Root AP.
3. Root AP receives the ping frame and tries to add wds entry on
   radio Y as AST entry was not found.
4. FW receives add wds entry on radio Y while on radio X an
   direct peer ast entry for same mac was present.
5. FW asserts.

Change-Id: I02ac409f2b4f6b2ea307d99c5f1fdab7776ca938
CRs-Fixed: 2347818
2018-11-16 05:10:27 -08:00
gaurank kathpalia
07e79f5860 qcacmn: Fill vdev nss chain params structure
Fill the nss chain params structure, with the dynamic params
and send to FW.

Change-Id: I6d9589b1af33a3bf2d4895424c22ca0c24b4b9a8
CRs-Fixed: 2349795
2018-11-16 05:10:23 -08:00
gaurank kathpalia
674d06dd08 qcacmn: Add TDLS device mode in QDF_OPMODE
Add TDLS device mode to get the nss chains shift params
and store the ini and dynamic nss config in vdev.

Change-Id: Ia2f3dba1860eda23018e6b930866931886834879
CRs-Fixed: 2349203
2018-11-16 05:10:20 -08:00
Ashish Kumar Dhanotiya
c4fd271d20 qcacmn: Send the vdev chain params to fw
Send the vdev nss, chain params to fw.

Change-Id: Ie62ea5001c579545b43b4c30ab15d9023e636042
CRs-Fixed: 2347628
2018-11-16 05:10:17 -08:00
gaurank kathpalia
df157bd26a qcacmn: Add wmi service for per vdev chain support
Add and populate the wmi service for per
vdev nss chain support feature.

Change-Id: I30a0921186826892f87433287ab206b168cee964
CRs-Fixed: 2347627
2018-11-16 05:10:14 -08:00
Kumar Kathirvel
8c4a2a0a34 qcacmn: Added a new param to get the band-info
Radio band which is classified and it's operating in 5G_HIGH_BAND
or 5G_LOW_BAND or 5G_FULL_BAND freq range or NON_5G_BAND,
ie It's 2G BAND

Change-Id: I9d140960c4b1fdab41621a1b277c140323d86e59
CRs-Fixed: 2339508
2018-11-16 10:15:02 +05:30
Bala Venkatesh
d80f65af9b qcacmn: Avoid redefination of tdls_add_oper enum
Enums tdls_add_oper and TdlsAddOper are same. Instead redefining
use the same enum across different files.

Change-Id: Ibb71b0f80e156e4bd3a345a56c7b4d99ce770ef7
CRs-Fixed: 2349643
2018-11-15 08:20:47 -08:00
Vikram Kandukuri
882e5c62e5 qcacmn: Add RelayFS support in component_dev
Update Kbuild to add RelayFS support in component_dev.

Change-Id: I7b6b34378b40e9dd670066a69542c3cb351ef895
CRs-Fixed: 2327607
2018-11-15 08:20:44 -08:00
Abhishek Singh
fda72d751c qcacmn: Use objmgr API to get 1st vdev from pdev
If Vdev id is not present driver tries to get vdev with vdev id 0
from pdev. Vdev with vdev_id 0 might not be present on pdev so use
objmgr API wlan_objmgr_pdev_get_first_vdev to get the first vdev.

Change-Id: I2ae0d6056709339a8167582ec327269aa84c93f4
CRs-Fixed: 2349699
2018-11-15 05:11:12 -08:00
Amir Patel
3c60631d7c qcacmn: Add support for last_per
Calculate last_per based on unicast packets and success packets
in last one second

Change-Id: I8b469e5d9c1e40498b3267bf7bdf3149159bdc31
CRs-Fixed: 2343479
2018-11-15 03:38:29 -08:00
Pavankumar Nandeshwar
2a2b7fecb0 qcacmn: remove the host ast_entry after deleting in FW
Removet the host ast_entry after sending delete ast_entry
to the firmware. This will handle the situation where we
might receive an add request for the same ast_entry,
while we are waiting for delete response from the firmware.

Change-Id: I105504a9c6a1e8e53bef9f3d011c10f846fd098e
CRs-Fixed: 2347989
2018-11-15 01:38:36 -08:00
phadiman
e5a330acf6 qcacmn: Set WMI Endpoint as Async
Conditionally set WMI enpoint as
async only for WIN and revert it
for MCL

Change-Id: I8969fffb4ba72909839baea2bdd12723665a8a4f
2018-11-15 01:38:33 -08:00
Min Liu
2fa0775090 qcacmn: Use vdev instead of pdev as parameter
For the case that there is leakage of vdev due to incorrect reference
count usage, and another vdev for the adapter is created, get ref of
vdev by mac address might get the incorrect vdev object since both vdevs
will have the same mac address and the leak one will be first matched
since it is created first.

To address this issue, use vdev pointer in adapter instead of pdev as
input parameter of related functions.

Change-Id: I855497358b5dabf3fc5c0f71a859dd7cae1b450a
CRs-Fixed: 2312155
2018-11-15 01:38:30 -08:00
phadiman
4213e9ca61 qcacmn: Separate MEC, DA and WDS Enable Flags
Add new flags for MEC and DA enable/disable
and keep it independent of WDS enable flag

Change-Id: Idb49c45ebb34a38f876dbdb293806c4e96d49b5d
CRs-Fixed: 2336332
2018-11-15 01:38:27 -08:00
Kris Muthusamy
a999ec4a42 qcacmn: WMI changes for rawmode open config WAR
Add WMI changes for rawmode open config WAR.

Change-Id: Ia7dd3ae6f40509d01c59413b7f3ad8410c9aa801
2018-11-14 18:51:51 -08:00
Visudha Sathurappan
f140e5cadc qcacmn: Resolve symbol errors when DA_SUPPORT is disabled
Protect calls to DA function

Change-Id: Iba79c0bf8c5ac9b31b8e568a26b553ce3a07598a
2018-11-14 16:46:21 -08:00
Pamidipati, Vijay
a59b5607c6 qcacmn: Split Tx and Rx indication handling
Add support to handle Tx completion processing and Rx processing into
different NAPI threads/contexts for Lithium DP

Change-Id: I4f5c6ef3ce969ce457e26cf3e8305df1ae782f09
2018-11-14 12:20:34 -08:00
Pragaspathi Thilagaraj
4db72ac87b qcacmn: Fix null pointer dereference in extract_sar_limit_event_tlv
When WMI_SAR_GET_LIMITS_EVENTID is received from firmware, the
function extract_sar_limit_event_tlv is called to update the SAR
limits for all the chains of each band. There is a for loop
defined to loop over each item in param_buf->sar_get_limits.
Since the param_buf->sar_get_limits could be either optionally
defined or not a part of the message at all there is a potential
NULL pointer dereference if sar_get_limits is not sent as part
of the WMI_SAR_GET_LIMITS_EVENTID event.

param_buf->sar_get_limits needs to be checked for NULL prior to
derefencing it.

Change-Id: I93c07fa8048df97c6f6960b0db6df3bbc30e23b4
CRs-Fixed: 2336928
2018-11-14 09:03:51 -08:00
jiad
b4ea80e030 qcacmn: Fix maybe-uninitialized build error
This change fixes build errors with compiler option
-Werror=maybe-uninitialized.

Change-Id: Ieff271ed61575c9e60ce73f5145fff2c2d6dfa24
CRs-Fixed: 2346019
2018-11-14 07:41:26 -08:00
Krishna Rao
8bd4f992f9 qcacmn: Remove temp_samp_msg_len and unnecessary updates to it
Remove unused variable temp_samp_msg_len from
target_if_spectral_create_samp_msg(). This variable does get updated,
but is ultimately unused. By removing it, we save processor cycles
which would otherwise be wasted on the update operations occurring for
each Spectral sample.

Change-Id: Ib5ca5598d5bee6cc15ca72e9e002239d2e76fd6c
CRs-Fixed: 2349113
2018-11-14 04:03:05 -08:00
Shashikala Prabhu
8f6703be71 qcacmn: Add support to override tid value
Add support to configure a specific tid for unicast packets derived from
multicast packets.

Set the user provided tid value when both multicast enhancement and
tid_override_en flag is set.

Change-Id: I770166a37c920a7e642c6649f918456846fb5f90
Acked-by: Shashikala Prabhu <pshashik@codeaurora.org>
CRs-Fixed: 2342717
2018-11-14 02:35:14 -08:00
Alok Kumar
db0d42384f qcacmn: Add vendor event to update TCP parameters
Currently, TCP params are configured through cnss-daemon.

Add vendor event to configure TCP params through Wi-Fi HAL.

Change-Id: Ifb81b810f0fb830515fb4558d016778083323b5a
CRs-Fixed: 2348945
2018-11-14 01:10:55 -08:00
Ruchi, Agrawal
93bcf1292f qcacmn: Take reference for peer before adding ast
Add reference for peer before adding ast entry
Reference is taken to avoid any synchronization
issue wrt to peer when adding ast entry.

Change-Id: Id3116daed84ad15eba515fedddb1146845542742
CRs-Fixed: 2335943
2018-11-13 22:44:40 -08:00
Vignesh Mohan
a7acb00fcb qcacmn: Add cfg to enable/disable NOL subchannel marking
Add entry in cfg enumlist for radio to enable or
disable NOL subchannel marking.

Change-Id: Ia989e1fa99303eecd1ed85fd957405d90acc418a
CRs-Fixed: 2334258
2018-11-13 15:43:13 -08:00
Venkata Sharath Chandra Manchala
443b9b4da2 qcacmn: Print HP/TP Stats
Extend txrx_stats to print current HP/TP
Status for UMAC rings.

Change-Id: I50332f7507fdf1841dee51f0b1e97ef4ea68f04f
CRs-Fixed: 2332191
2018-11-13 06:56:15 -08:00