Commit Graph

4254 Commitit

Tekijä SHA1 Viesti Päivämäärä
Varun Reddy Yeturu
52c506d034 qcacmn: Add caller info to memory debug infrastructure
Currently, the detected memory leaks would not dump
the caller of the function which is leaking the memory.
Add an extra parameter to the table to store the caller
address and print the function during an assert.

Change-Id: I6dc31b55fd4e78dc69df9eb6166ebb63086891c1
CRs-Fixed: 2177486
2018-02-15 14:10:51 -08:00
syed touqeer pasha
4ffe1c5a1b qcacmn: Memory leakage with WiFi traffic
The buffer was not being freed after invalid peer handler.
Error are handled and returned but buffer free was not taken care.

Change-Id: I100cdc27e6ca1af3dde7ce6561f5dfb83b87127f
2018-02-15 13:24:02 -08:00
Yun Park
1ba3ada3aa qcacmn: Add IPA WDI Unified API support
Support for WDI2 in the Unified IPA WDI APIs.

Change-Id: Ife42a6a96ce80070de51f994e29ded252b3dd980
CRs-Fixed: 2183501
2018-02-15 09:20:35 -08:00
Alok Kumar
337c5c6ada qcacmn: Fix buffer overflow in fill_ieee80211_hdr_data
Currently variable pl_msdu_info->num_msdu is from message, and
is used directly as array size. This may cause buffer overflow.

To address this issue add qdf_assert check.

Change-Id: Ice78633314b321243136ce4987c633e1201d3cb8
CRs-Fixed: 2187441
2018-02-15 07:42:04 -08:00
Shashikala Prabhu
1b50fdc451 qcacmn: Add a local variable to dereference frequency range
To make the code look neater, add a local variable to dereference the
frequency range.

Change-Id: I419aa913304c3b7e7d553a1419b92f9ee46ac754
CRs-Fixed: 2182461
2018-02-15 03:12:50 -08:00
Aniruddha Paul
9d7dc27fe2 qcacmn: Masked out the Host Tx Desc allocation for NSS offload
Masking out the tx_desc and tx_ext_desc allocations for NSS offloaded
radios.
CRs-Fixed: 2188417

Change-Id: Ibe949a899da1dd2c815ce6a10c355f7ee5976e7a
2018-02-14 07:49:24 -08:00
Gerrit - the friendly Code Review server
8281964dfe Merge changes into wlan-cmn.driver.lnx.2.0 2018-02-14 02:45:47 -08:00
Dustin Brown
89a217419e qcacmn: Perform minor cleanup of qdf_*_parse APIs
Perform the following cleanup items for qdf_*_parse() APIs:
 1) Many qdf_*_parse APIs use a custom left-trim function called
    qdf_skip_whitespace(). Recently, qdf_str_left_trim was added,
    so use this function instead.
 2) Remove 'const' from 'const char *' parameters. 'const' protects
    modification of the pointer, which is already duplicated for the
    function call. Since the qdf_*_parse() APIs modify the pointer
    parameter anyway, using const is incorrect (and should have failed
    compilation).
 3) Ensure the public qdf_*_parse APIs are properly exported.

Change-Id: I89725c68cc0d61a66fe95ef02fa2deda110411ac
CRs-Fixed: 2185978
2018-02-13 17:24:13 -08:00
Disha Das
6419ff128e qcacmn: Set peer params for crypto PMF
Set peer params for crypto PMF on recv assoc req

Change-Id: I879135642278602edf195dd68c8acbbfdf09c443
2018-02-13 13:14:49 -08:00
Dustin Brown
6461e566f4 qcacmn: Add int/bool parse functions to QDF
Add the following function implementations to QDF:
 * qdf_bool_parse()
 * qdf_int32_parse()
 * qdf_uint32_parse()
 * qdf_int64_parse()
 * qdf_uint64_parse()

Change-Id: Ic31e3eb70f684799bd6e1e524cfc1cb816ddc01a
CRs-Fixed: 2185282
2018-02-13 13:14:47 -08:00
Ruchi, Agrawal
e8eeb44420 qcacmn: Resolve null pointer dereference issue in flush txdesc
On Flushing txdesc resource on pdev detach caused null ptr
issue, resolved it by adding dummy function to not free desc
resources for mcl, as it is freed in vdev detach.

Change-Id: I9ab777571623c926b4ecbf9c95ba0837101eba26
CRs-Fixed: 2179488
2018-02-13 11:45:49 -08:00
Varsha Mishra
7ea1800145 qcacmn: Export __qdf_nbuf_is_bcast_pkt
Use of qdf_nbuf_is_bcast_pkt function in qca-wifi is causing
unknown symbol __qdf_nbuf_is_bcast_pkt runtime error. This
does not let wifi driver to load.

CRs-Fixed: 2125569
Change-Id: If91685ae7d72c6fe52427648e9f01cba92fee86e
2018-02-13 07:34:18 -08:00
gaurank kathpalia
7d65c1b32d qcacmn: Add individual length checks to Beacon Information element
Currently there is no individual length check to each IE, which
could probably result in buffer overead. Minimum length should
be checked for each varibale IE for avoid the same. Also some fixed
IEs should have a length check of not greater than the size of
their respective structures to avoid corrupting other IE data.

Fix is to add a length check to each individual IE to avoid
corrupting other IEs and also to prevent reception of any IE
of invalid length IE.

Change-Id: I9a0914861d7ff2871ac72ad7357ebbb7ef10eeb3
CRs-Fixed: 2183014
2018-02-13 05:47:44 -08:00
Vivek Chettri
40789ff92d qcacmn: Add NULL check for wdev member of vdev's ospriv
Add NULL check for access to wdev.
There could be cases where the wdev could not we initialized
to appropriate values, so we should have a NULL check before
we access its members.

CR's Fixed: 2168374

Change-Id: Id0a3f9b64c5e9beed86f5a3c019a5fe5dbdb8bd7
2018-02-13 04:53:31 -08:00
Om Prakash Tripathi
339dc26b21 qcacmn: Enable scan command time out if not disabled explicitly
1. Enable scan command time out for all commands if not disabled
   explicitly.
2. Remove QDF_BUG() for no serialization command buffers

Change-Id: I5357211ef6bc44f8ebd4b8acaa56a12f691fa46d
CRs-Fixed: 2175843
2018-02-13 03:55:25 -08:00
Pamidipati, Vijay
726ea12445 qcacmn: Mcast2Ucast fix for no-snoop entry case
Add support to transmit the original multicast frame (Control
frames) instead of dropping it in Tx path, if no snoop entries are
found for multicast address.

Change-Id: Ic8caeaf4b092f9368c8c2d76632941eb8d7bb9c8
2018-02-13 03:55:22 -08:00
Tallapragada Kalyan
57b6bb3e1d qcacmn: Add support for DBDC repeater
Added CDP callback APIs so the DBDC repeater module
outside of cmn_dev can add, delete and update the AST
entries. Also with this change the sending of wds cmds
to fw is tied to adding AST, deleteing AST and updating
the AST entries.

Change-Id: I48d31962236860f50e16b771abaf3b8825b798df
2018-02-13 02:00:41 -08:00
gaurank kathpalia
98d3395e7a qcacmn: Fix KWork issues in Scan component
Fix KWork issues (NULL pointer checks, pointer dereference)
in scan path

Change-Id: I1c66a99bbfc69202d24f288ccfbebd2811345ded
CRs-Fixed: 2160771
2018-02-12 23:51:06 -08:00
Anish Nataraj
57614da632 qcacmn: Populate timestamp,duration,lsig_a stats
ppdu stats timestamp,duration,channel etc were not
updated and corrected the same

Also RSSI was incorrectly getting updated for
mcast frames also, fix both of the above issues

Change-Id: Id8446c6c0cfe8761f8c524fc7af0ff5bdd8b96aa
2018-02-12 21:46:51 -08:00
Stephan Raj Ignatious Durairaj
e5dd51ce96 qcacmn: remove inact timer multiple initialization
Inactivity timer initialization is moved from dp
attach to soc attach as the timer is being
initialized multiple times in case of multiple
radios

Change-Id: I85d1d8710ccc7531c43ec82378c3ca0b65d26cf9
2018-02-12 17:22:43 -08:00
Pratik Gandhi
8713aa61ff qcacmn: Additional export symbols for split of kernel modules
Add additional Export symbols to support modularization in
WIN.

Change-Id: I4e5e7a7f38b7dae4c5e5f0865a4799caaa3870ea
CRs-Fixed: 2179854
2018-02-12 15:45:00 -08:00
Orhan K AKYILDIZ
dfdbf5f846 qcacmn: Fix security concern with %p
%p is considered a security hole. Fix an instance of such a hole
introduced recently.

Change-Id: Iaaa8d94de3077f987605058d417b472966ad9931
CRs-Fixed: 2180521
2018-02-12 15:44:58 -08:00
Dustin Brown
2d237dde74 qcacmn: Avoid stack trace when PANIC_ON_BUG is off
PANIC_ON_BUG controls whether QDF_BUG panics the system on a failed
assertion. This config flag should be disabled for all end user
production builds. However, when PANIC_ON_BUG is disabled, QDF_BUG will
still print the call stack that resulted in the failed assertion. This
call stack can leak sensitive kernel address information, and should not
be printed for end user production builds.

When PANIC_ON_BUG is disabled, avoid printing the current stack trace to
dmesg.

Change-Id: I8c83d3690c606f8ffa91cf931e45543ed6e6437a
CRs-Fixed: 2186096
2018-02-12 11:22:41 -08:00
Soumya Bhat
0d6245c0ac qcacmn: PPDU stats debug enhancement
1. Assert if length received from FW is not equal to
   the expected length
2. Count the number of PPDU stats received by host and
   print in "iwpriv athX txrx_stats 260"
3. Optimize the PPDU stats tag mask sent to FW for
   enhanced stats enabling

Change-Id: I60019de93bb3914955a03546504efc820c960746
CRs-Fixed: 2170704
2018-02-12 07:34:57 -08:00
Shiva Krishna Pittala
cd67294973 qcacmn: Fix configuration of Spectral module for Gen2
Spectral module configuration is failing on Gen2, fix it.

CRs-Fixed: 2187148
Change-Id: I424512d181e70d300a71210cf3e0593b2ddbf24f
2018-02-12 06:45:43 -08:00
Ruchi, Agrawal
8e2796b8ac qcacmn: assert in rx path
Assert happened in rx path because rx reo rings setup
is done and after that default routing information is
updated, if any time elasped any buffer received in
exception ring falsely. Setting route information before
intialize.

Change-Id: I48c7292db0823d3eac639429f956dff1fcc41cae
2018-02-11 23:20:52 -08:00
Arif Hussain
1a66b209d5 qcacmn: Add extended service bit for obss offloads
Added extender service support for obss and obss color
Collision offload support.

Change-Id: Ifd249b3bbf4510297f15beb33df13d6c4f9d7d0e
CRs-Fixed: 2185238
2018-02-10 09:12:49 -08:00
Arif Hussain
6e6217bcd2 qcacmn: Add bss color collision detection support
Add support for bss color collision detection.

Change-Id: Ia3d64917518c2aa5fc4a10bb7f3f8db2d47bc5d7
CRs-Fixed: 2185238
2018-02-10 09:12:46 -08:00
Kiran Kumar Lokere
ddf7f8840a qcacmn: Add new vendor sub command for wifi test configuration
Define new vendor sub command for configuring the device with
wifi test configuration. Add new test config attributes for this
sub command that are used to configure the device for testbed
configuration.

Change-Id: Ic866d54ba528525c94bcc7b4a5a8cf9c5c1408d0
CRs-Fixed: 2186214
2018-02-10 09:12:43 -08:00
Dustin Brown
677a261213 qcacmn: Add qdf_file and qdf_parse files to QDF
Add an QDF abstraction for reading a file. Also, add the first consumer,
qdf_ini_parse(), as well. This is pure parsing logic, which offloads the
actual content handling to the caller via callback functions.

Change-Id: Idfca74c5543a5b0da7ddd1bdc6e2ad2be59ed36b
CRs-Fixed: 2184463
2018-02-10 07:15:00 -08:00
Dustin Brown
a4fd883481 qcacmn: Add qdf_str files to QDF
Add files for QDF string APIs. Existing qdf_str_* APIs will be moved as
part of a future change.

Change-Id: If98d41380b2f7f62bbe5de141b6827e9427944ab
CRs-Fixed: 2184462
2018-02-10 07:14:57 -08:00
Amar Singhal
40126d4847 qcacmn: Check world mode when setting country code
When setting country code dynamically, world mode is
variable. Multiple world modes are supported depending
on the BDF configuration. Currently, it does not check
the world mode when setting country code and not take
appropriate action.

Change-Id: Ibd087825dbdba58d3d52d0c208edf183e3088731
CRs-Fixed: 2182129
2018-02-10 00:52:18 -08:00
Manoj Ekbote
d1d26229a8 qcacmn: Extract MAC address list in ready event
FW provides a list of MAC addresses in ready event,
one per radio. Change event handler to extract the
list. Legacy HW will use the single MAC address
function.

Change-Id: If0a9db3b7dab81bbeed387d2b7417100021e912d
2018-02-10 00:52:16 -08:00
Keyur Parekh
844e627170 qcacmn: Based on Preamble type setting flags value
1. Moving HT,VHT and HE flags setting into
WIFIRX_PPDU_END_USER_STATS_E case.
As this TLV already have preamble type populated.
2. NSS value wrongly populated in WIFIRX_PPDU_END_USER_STATS_E
case. It has been removed now.

Change-Id: I1c530385c585c0ea0dd14a07a6759a85b80e6a10
2018-02-10 00:00:38 -08:00
Liangwei Dong
bc9c485826 qcacmn: Keep unsafe chan enabled in curr_chan_list
Station mode needs the full chan list including unsafe chan.
And HDD and policy mgr has local copy the unsafe chan list
for chan avoidance checking for SAP mode.

Keep unsafe chan in curr_chan_list and add unit test ucfg API
for chan avoidance internal test.

Change-Id: I23e040048a6dc1cc604cc2be91ac74916eb74f23
CRs-Fixed: 2182400
2018-02-10 00:00:35 -08:00
Kabilan Kannan
56800ad9a5 qcacmn: Add debug support for DMA memory allocations
Add debug support to detect memory leaks and corruption
in DMA memory operations.

Change-Id: I1478973828ddc147367c4a579c97c3840c106f44
CRs-Fixed: 2155603
2018-02-09 12:18:40 -08:00
Edayilliam Jayadev
f01a81b79f qcacmn: spectral changes for gen3 HW
Process spectral summary and search fft report for
gen3 spectral HW. Add the frame work to register to
Direct dma module.

CRs-Fixed: 2184019
Change-Id: I4e2869d9c2887767d58685533265cc93c908b697
2018-02-09 09:21:04 -08:00
Sandeep Puligilla
cd793f38a3 qcacmn: Configure spectral module for Gen2
-Initialize the default Configuration as
gen2 for spectral module on MCL.
-Add support to general netlink socket.

Change-Id: Iab06f66d18c4791f0ff5483781634df2a7268ddb
CRs-Fixed: 2183870
2018-02-09 09:21:02 -08:00
Shiva Krishna Pittala
101778698b qcacmn: Move Spectral Netlink APIs to os_if layer
Spectral Netlink related APIs are currently present in
target_if layer, move them to os_if layer.

Change-Id: I86a5495f6ec8aa85a2e9639902503a522b023f8e
CRs-Fixed: 2151548
2018-02-09 09:21:00 -08:00
Shiva Krishna Pittala
82032dd2a4 qcacmn: Move the spectral tgt layer functionality to tgt file
If the definition of an API in umac layer is same for
both OL and DA chipsets, it is better to have a single
implementation of that API for maintainance pursposes.
tgt file is the placeholder for such APIs.

CRs-Fixed: 2151543
Change-Id: I3ae969452b10f6d81e46351a74ed9d4c3f5ea96c
2018-02-09 09:20:58 -08:00
Shiva Krishna Pittala
71155a3e48 qcacmn: Use module level logging in Spectral
Current Spectral module uses qdf_print. To improve the control over
logging, use module level logging

CRs-Fixed: 2165341
Change-Id: I205991347453c4dcc424ba1958e309b7c5fb71a0
2018-02-09 09:20:56 -08:00
Srinivas Pitla
72bbf17531 qcacmn: Use correct ref id for mgmt transmit
Fix to correct ref id usage in transmit.

Change-Id: I85d5031e3ed14a137980a828f18512d91fde5548
CRs-Fixed: 2177109
2018-02-09 07:45:45 -08:00
Padma, Santhosh Kumar
01548b7f5c qcacmn: Fix hidden ssid match in OWE
OWE SSID is hidden in OWE transition mode. When supplicant detects
connection to OWE transition mode, it issues connect with required
SSID to driver. But that ssid does not present in driver scan cache
as it is hidden. Instead of this ssid, driver scan cache has NULL
entry. This can result in connection failure due to mismatch in ssid.

In normal hidden ssid cases, supplicant issues scan with specific
ssid which helps to update driver scan cache with required ssid. SSID
is also hidden in OWE transition mode, but supplicant does not issue
scan with specific ssid which results in NULL entry in driver scan
cache for that SSID.

Fix this issue by explicit check for OWE if it is hidden.

Change-Id: I95e6b9af37e62c56b4b890090c33d53f89fed731
CRs-Fixed: 2185576
2018-02-09 07:45:42 -08:00
Lin Bai
8dc369bdba qcacmn: Fix memory leak on reo_cmd_list
When removing entries on reo_cmd_list, TAILQ_FOREACH used
instead of TAILQ_FOREACH_SAFE, that will only remove the first entry
and leak the others.

CRs-Fixed: 2184882
Change-Id: Ica2677925af34e62f98f4a8d2044c9c3feb69ba9
2018-02-09 07:45:40 -08:00
Arunk Khandavalli
469d3f59d9 qcacmn: use converged wmi events
As part of converged architecture wmi_service_enable is converged
and should be used instead of WMI_IS_SERVICE_AVAILABLE. The events
also need to be defined as part of array for mapping to converged
event id's.

Change-Id: I9ab342a5cf6e665a3eb90eeef6d10bf3c145049d
CRs-Fixed: 2186338
2018-02-09 06:24:36 -08:00
chenguo
cda25129be qcacmn: Configure correct parameters for STATS_RESET command
For HTT_DBG_EXT_STATS_RESET command, FW need to config from
param0 to param3 according to below rule:

PARAM:
-- config_param0 : start_offset (stats type)
-- config_param1 : stats bmask from start offset
-- config_param2 : stats bmask from start offset + 32
-- config_param3 : stats bmask from start offset + 64

CRs-Fixed: 2177891
Change-Id: I8723baf9af8ea469d080922db74c5e602903e4a3
2018-02-09 05:32:53 -08:00
Prathyusha Guduri
184b640cbd qcacmn: Move cdp_stats to cdp_txrx_stats_struct.h
To expose cdp_pdev_stats to athstats, move cdp_stats from
cdp_txrx_cmn_struct.h to cdp_txrx_stats_struct.h and include
cdp_txrx_stats_struct.h wherever needed

Change-Id: I0e86527d47f5c6056a3bfbf5e8151594879427f3
CRs-Fixed: 2183725
2018-02-09 01:51:30 -08:00
Ashish Kumar Dhanotiya
d36a315227 qcacmn: Add mutex lock for proc handlers
It will have race condition issue when multiple
threads access some fields of global shared
variable ctl concurrently.

Fix is to add mutex lock for proc handlers.

Change-Id: Ifba428ae6544ccbdae0547a63972ab241ae68d7c
CRs-Fixed: 2185522
2018-02-09 01:51:27 -08:00
Tallapragada Kalyan
32e74e669d qcacmn: Linearize nbuf in intra-bss forwaring case
with fragmented pkts re-injected back to REO destination
ring as frag_list, we need to linearize these nbufs while
handling intra-bss forwarding cases.

Change-Id: Id692974ac5d80f369fafae39aec32e2066dffb0b
2018-02-09 01:51:24 -08:00
Ruchi, Agrawal
c0f9c97c95 qcacmn: Free txdesc during pdev detach
On Firmware auto recovery , txdesc resources
might not be freed if f/w has not sent the
completion. Freeing those buffers in pdev
detach

Change-Id: I7d62258347f1fc9566fc8230564bcaf458ea4cc4
2018-02-09 00:42:30 -08:00