Граф коммитов

4069 Коммитов

Автор SHA1 Сообщение Дата
Shashikala Prabhu
6c3778275a qcacmn: Fix 2GHz association failure
Problem:
When a STA vap in repeater AP starts scan it checks for
is_cac_in_progress variable. If this variable is set true, then
STA does not scan. is_cac_in_progress is set true/false when dfs
is not NULL. Since DFS is NULL for 2G radio, is_cac_in_progress
has some random number and hence scan is cancelled by the HOST.

Solution:
Initialize is_cac_in_progress to false in
dfs_scan_serialization_comp_info_cb(). Set this variable to true
if dfs is not NULL and AP is performing CAC.

Change-Id: I3e04bfaf05001f7f76f67605fb2c6d35c3113683
CRs-Fixed: 2166300
2018-01-03 15:26:44 -08:00
Kabilan Kannan
5fa39fd728 qcacmn: Fix the invalid memory access in WMI cmd
Invalid memory accessed in WMI_REQUEST_STATS_CMD, and it
causes kernel panic in the system.
Fix the invalid memory access in WMI request
stats function.

Change-Id: Id838569fd5667b118aecc03f7af5e5f9f146b2a6
CRs-Fixed: 2162279
2018-01-03 14:17:02 -08:00
Manoj Ekbote
376116e052 qcacmn: Handle error case with HAL SRNG setup
If hal_srng_setup() fails, memory allocated for srng
is not freed resulting in a leak. Free the memory in
that case. In future, return error to caller and
assert when invalid ring ID is used during setup.

Change-Id: I6f3a7494a5c5e861652f3a38d18c220cd9a6eef2
2018-01-03 14:17:00 -08:00
Ashok Ponnaiah
7a41e8c20e qcacmn: Fixed BIP-GMAC mmie calculation
Fixed BIP-GMAC mmie calculation
pn needs to be swapped when filling the nounce
CRs-Fixed: 2165003

Change-Id: I5b0871c2fbb4e814f9eacfbd9912748ae4517251
2018-01-03 12:31:15 -08:00
Keyur Parekh
5929a9fdb4 qcacmn: update mon_rx_status field from TLVs
In mon_rx_status structure mcs,bw and nss values
not populated properly. To resolve this issue, update
mon_rx_status structure fields when embedding values to
respective flags

Change-Id: I33c19c209fcdb7252af4a7ed6cbdbf3682fd4236
2018-01-02 13:36:59 -08:00
Bala Venkatesh
090d649236 qcacmn: Initialize pcl length to 0 in cds_get_alternate_channel_for_sap
When number of connections is more than 2 then the pcl length will be
garbage value. Initialize the pcl length with 0 to avoid wrong channel
list initialization.

Change-Id: If08dc2670ff5ff296220d6ad68766becb252fab7
CRs-Fixed: 2164773
2018-01-02 03:25:05 -08:00
chenguo
91c9010216 qcacmn: Fix memory leak for invalid peer error
In dp_rx_null_q_desc_handle, if peer is invaild and no need to
deliver to the upper layer, the nbuf must be freed before recycle
the rx descriptor.

CRs-Fixed: 2153932
Change-Id: I1b373d1b5b50da42b896f0b2fd7bbd13b0e2466d
2018-01-01 23:25:10 -08:00
Visudha Sathurappan
08bf9be852 qcacmn: Fix WEP+OL issue in MIPS platform
For big endian based offload radios, the key installed using
WMI_VDEV_INSTALL_KEY_CMDID requires to be code swapped as the
copy engine for big endian platform does byte swap operation
on the received key before sending it down to FW.

The big endian conversion is carried out
in ol_if_vap.c for big endian platform specific radios.
However, it is observed that an additional copy
is carried out in the WMI layer that is overwriting
the converted key with old key, in the non-swapped form.

Hence move the big endian operation to the WMI layer to
ensure uniform functioning of the API

Change-Id: I9ee16572d08045b0f55b0de190efba5c6806031c
CRs-Fixed: 2161682
2017-12-29 09:37:07 -08:00
Gurumoorthi Gnanasambandhan
a4fa1ef85d qcacmn: Fix offset for rssi stats from PPDU stats
Initial 12 bytes offset from rx_tlv is not necssary for calucating the rssi
related stats.

Change-Id: Ic52945e4c44b1d0755629b73737d00ff1c727c53
2017-12-29 05:28:54 -08:00
Subrat Mishra
2b75d6df39 qcacmn: Add FILS AEAD crypto
Add aes_ctr, aes_siv and FILS AEAD crypto module.
This includes FILS AEAD encrypt and decrypt functions.

Change-Id: Ibbeb28ea53c91ad473247015335b593bc8038485
CRs-Fixed: 2093478
2017-12-29 01:42:58 -08:00
chenguo
a80287435f qcacmn: Delete duplicated statistics in RX
Only need to udpate per peer statistics in RX. What's more, this
statistics should be protected by flag of process_rx_status.

CRs-Fixed: 2160448
Change-Id: Iff3f5e1e6d00ef777cd6b62d6903c710c9430960
2017-12-29 01:42:55 -08:00
Hanumanth Reddy Pothula
409e456664 qcacmn: Remove FW memory dump feature
qcacld-2.0 to qcacmn propagation

FW memory dump feature is no longer used. Hence remove FW memory
dump feature code changes.

Change-Id: Ida655f83630c369df746e7c0c9d61a8fee2932a2
CRs-Fixed: 2140262
2017-12-29 01:42:52 -08:00
Ryan Hsu
a2c32d4a58 qcacmn: Add target if interface to get wmi_handle from pdev
Adding the target_if interface to get the wmi_handle from pdev,
the condidional flag is added due to different implemention of treating
the tgt_if_handle.

CRs-fixed: 2161374
Change-Id: Ia5206199afd5d41774928793d78e6648f03c181b
2017-12-28 13:24:44 -08:00
Om Prakash Tripathi
1d2f3d2a25 qcacmn: Ensure vdev is valid before accessing it
Ensure vdev is valid before accessing it.

Change-Id: I27fc2d2964829d9609c1b489a95a712e07b2e0be
CRs-Fixed: 2164427
2017-12-28 07:25:10 -08:00
chenguo
9bece1afc7 qcacmn: Enable DP statistics in driver by default for MCL
Both process_tx_status and process_rx_status is disabled for the
default setting. Enable those flags by default for MCL

CRs-Fixed: 2146734
Change-Id: I8c5a636badcfe9327fce7f3332abd93946f003bd
2017-12-28 05:44:59 -08:00
Soumya Bhat
abb925005d qcacmn: Remove nbuf free
Do not free ppdu nbuf when status pending since this
does not lead to a leak.

Change-Id: I9c1892d77c5043165853c1585d835bd4d9119357
2017-12-28 04:27:51 -08:00
Varun Reddy Yeturu
d6b2247ece qcacmn: Check for successful memory allocation for peer
Check if memory is allocated successfully for the peer
before adding the peer to the deleted peer table.

Change-Id: Iea623075f85787039d67733dc8071e0c093073ed
CRs-Fixed: 2160767
2017-12-28 04:27:49 -08:00
Varun Reddy Yeturu
a7ef89abb1 qcacmn: Ensure legacy_callback is not NULL before calling
Check legacy_callback function pointer is non NULL before
calling the function

Change-Id: I4953b87486214f704eaf357e663f0fbc310fb965
CRs-Fixed: 2160759
2017-12-28 03:38:31 -08:00
Nandha Kishore Easwaran
47e7416b12 qcacmn: Add check to drop mcast loopback packet
Added a check in RX path to detect multicast loopback packets in
qwrap mode. In qwrap mode, there are multiple station vaps and
multicast loopback packet from one station vap should not come into
the other station vap. Added a check for this by iterating through
the vap list and checking if any of the vdev mac address matches
with the source address of the packet.

Also added a new vdev parameter to check if qwrap isolation mode is
enabled. In qwrap isolation mode, loopback packets should not be
dropped.

Change-Id: I7d35bf657a87337871156e4caec9038432e23a87
CRs-fixed: 2149190
2017-12-28 01:26:17 -08:00
Venkateswara Swamy Bandaru
3ef1844980 qcacmn: Add Support for Setting MSDUQ Depth Parameters
Add host support to enable setting MSDUQ depth parameters per
TID per peer.

Parameters include MAC Address, TID number, update mask and
Q depth threshold value.

CRs-Fixed: 2162460
Change-Id: Ie947fd599278a04e13d6aa6c89f840187dbf17fa
2017-12-27 23:25:04 -08:00
Keyur Parekh
45393697a8 qcacmn: Fix potential buffer overflow
Fragment count will be larger than the upper limit of
cvg_nbuf_cb->extra_flag.num which would lead to an overread
of fragment length. Upper limit check for fragment count
is added in this change

Change-Id: Ib4ba4047f5eea89c09a92f89cf72e1976e0c9f3c
2017-12-27 11:01:16 -08:00
Rohan Dutta
8b8f00f622 qcacmn: Add WPA/RSN IE from driver
Add WPA/RSN IE from Driver, when app/daemon does not program it.

Change-Id: I6d25d98d4da991c229ae560a5878edc21c9766ce
CRs-Fixed: 2158072
2017-12-27 09:25:13 -08:00
Karunakar Dasineni
65b626eb3d qcacmn: Monitor status PPDU ID wraparound handling
Check PPDU ID wraparound in monitor mode processing.

Change-Id: I9e1dcc7b22d4db8006e945e360b3744f548fb122
CRs-Fixed: 2160214
2017-12-27 01:26:16 -08:00
Sandeep Puligilla
1e1def7550 qcacmn: Spectral scan module initialization for MCL
Changes to support spectral module initalization
on MCL platform.

Change-Id: I968e199d0090d11480f111acca1240c3fb8117ba
CRs-Fixed: 2161633
2017-12-26 17:27:04 -08:00
Arif Hussain
5e7ad9b03f qcacmn: Add null pointer validation and fix initialization in dfs
Add validation check for memory allocation and initialize variable
before using.

Change-Id: If5215f4f034ea57884b252f8467c4e2ca227c952
CRs-Fixed: 2160749
2017-12-26 13:24:37 -08:00
Soumya Bhat
7422db894d qcacmn: PPDU stats
Add following changes in the context of PPDU stats
1. Mirror copy mode enhancements
2. Fix memory leak due to mgmt. TLV
3. Reset RX monitor lite ring when enhanced stats disabled

Change-Id: Ifb260929290bc483dc05b152a11cd675104f3a0d
2017-12-26 07:24:48 -08:00
Shashikala Prabhu
153b2881cf qcacmn: Do not allocate DFS object for 2GHz radio
DFS is applicable only for 5GHz radio. Therefore, do not
allocate DFS object for 2GHz  radio.

Change-Id: I5e8aec0c876e7862890fae689950bfbb4eae5255
CRs-Fixed: 2153493
2017-12-22 23:24:41 -08:00
Ruchi, Agrawal
d8532ff2a0 qcacmn: Raw Mode AMSDU msdu ext desc not working
For RAW Mode AMSDU when multiple fragments will come
address for first fragment getting updated but other
fragments were not getting updated properly.Fix updated
all the fragment address.

Change-Id: Ie450bcd4e467cca779d0280d76ce7b4ace1dffc2
2017-12-22 19:26:39 -08:00
Sandeep Puligilla
c6764593d5 qcacmn: Extend beacon parse util functionality
Beacon parse util API currently returns only one
scan cache entry to the caller.

Extended the beacon parse api to return list of
scan cache entries in scenarios like mbssid

Change-Id: Ia362cda4fdbc9955966696484869fee6ac2d0a22
CRs-Fixed: 2154753
2017-12-22 09:26:16 -08:00
Wu Gao
6942640c40 qcacmn: Cancel ROC if cancel tx MGMT
It do not cancel the roc for tx MGMT frame, then wait this ROC timeout
even if the next off channel tx is coming. This affact WLAN DPP test.

Change-Id: Iffdef35d137485d7b17b3671e6bbe35a228b0893
CRs-Fixed: 2155852
2017-12-22 03:20:04 -08:00
Chandru Neginahal
ccf1cbd063 qcacmn: Expose dp_rx_mic_error_process() to other modules
dp_rx_mic_error_process() api is needed for nss wifi offload mode also

Change-Id: I3666bf3133ea59d5d286931c205bd09b8f6d6c72
CRs-fixed: 2155250
2017-12-21 21:25:56 -08:00
Sathish Kumar
c34484f2a2 qcacmn: Direct Buffer Rx framework to facilitate DMA between tgt & host
Direct Buffer Receive provides the driver with a mechanism by which
target can transfer information directly into host memory via DMA.

In the Direct DMA mechanism, target will transfer information directly
into host memory via DMA. Host will allocate DMA target buffers and
place their addresses in one or more rings (circular buffers) to be
read by the target. Host will determine the features that will be
utilizing the Direct DMA service through the service bitmap obtained
from the target through service available event. Host will also
determine the Direct DMA capabilities such as the minimum number of
pointers, minimum buffer size and minimum alignment for the DMA
buffers through a separate TLV part of the extended service ready
event.

Host with the help of service and the DMA capabilities received,
will initialize and configure the ring of DMA buffers to be shared
with the target. Once the rings are initialized, host will send a
WMI command to inform the target of their locations. Target responds
to the host with an acknowledgment event for the shared configuration.

When the host requests for the data captured, target will read the
destination addresses from the rings configured and use the addresses
to perform DMA transfer. When a single or multiple DMA transfers are
complete, target will notify the host via a WMI event. This WMI event
will include information on the number of DMA transfers completed, and
the associated addresses of the buffer that was used to transfer the
data. When the host has finished processing the contents of the DMA
buffer, it will replenish the ring and place the buffer back on the
appropriate ring to make it re-usable.

Change-Id: I7542036636e62701839ef36beafb463909001853
CRs-Fixed: 2127045
2017-12-21 15:26:13 -08:00
Sathish Kumar
26190a142e qcacmn: Add support for direct buffer rx module
Direct Buffer Receive provides the driver with a mechanism by which
target can transfer information directly into host memory via DMA.

Add following support for direct buffer rx module -

1. Add UMAC component ID for direct buffer rx module to be utilized
   for object manager APIs
2. Add support for populating DMA capabilities shared by target in
   object manager maintained extended service ready event.
3. Add support for Tx Ops for direct buffer rx module.

Change-Id: I2fa60e8572cbcc0d1fa7830e7e94b6e486bdcc78
CRs-Fixed: 2158297
2017-12-21 15:26:10 -08:00
Sathish Kumar
85da7c5fdb qcacmn: Add WMI interface support for Direct Buffer Rx module
Direct Buffer Receive provides the driver with a mechanism by which target
can transfer information directly into host memory via DMA.

Add support for the following service/events/commands -
1. WMI_SERVICE_SUPPORT_DMA
2. WMI_DMA_CAPABILITIES as part of WMI_SERVICE_READY_EXT_EVENTID
3. WMI_PDEV_DMA_RING_CFG_REQ_CMDID
4. WMI_PDEV_DMA_RING_BUF_RELEASE_EVENTID
5. WMI_DMA_BUF_RELEASE_ENTRY

Change-Id: I3949026b4542565c49bb538b9545ea607690c793
CRs-Fixed: 2158304
2017-12-21 15:26:08 -08:00
Pranita Solanke
fc2ff39199 qcacmn: Add multicast and unicast packets stats for BSS peer
Add support to display multicast packets stats. Also
avoid sending message to target-if layer for every MSDU
to update node statistics

Change-Id: I7bb73d97bd8a02a601d191040a9a5730a9584d3d
2017-12-21 15:26:05 -08:00
Pranita Solanke
d7e10baaa9 qcacmn: Change the BW mapping on host side according to FW
Stats counters for BW were not updated correctly
due to difference in mapping of BW on host and FW

Also fix the Rx Stats to account for TCP Ack count

Change-Id: I7e844a7032e7968c110c7a0f8c45b0349a5cb818
2017-12-21 15:26:03 -08:00
Yeshwanth Sriram Guntuka
b9e2f66377 qcacmn: Set passive dwell time
Set passive dwell time to 28msecs for active
scan when bt a2dp is enabled and hw is not dbs
capable and when sta is connected on 2G band.

Change-Id: I44f2e3d98f2d7ddc52e4902ba989131c256da4ef
CRs-Fixed: 2160963
2017-12-21 05:26:49 -08:00
Sandeep Puligilla
4fe1d4b0ee qcacmn: Fix spectral scan compilation errors
Fix spectral scan component compilation errors
on MCL build system.

Change-Id: I903431fba923859e796e0786354608cac2841b0c
CRs-Fixed: 2160819
2017-12-21 01:39:17 -08:00
Tallapragada Kalyan
9403463db3 qcacmn: refactor wbm_err_process function
In wbm_err_process function we are releaseing the sw rx
descriptors at the end and we are calling replenish after
we processed all the pkts in wbm_release ring. FW team said
that the re-fill ring is empty for high throughput scenarios.
To avoid re-fill ring being empty replenish buffers
first and then process the nbufs later. Also free any invalid
peer MSDUs during pdev detach.

Change-Id: I3e1088a3df3658965ffb31e0e0420a37203ba70e
2017-12-20 21:28:02 -08:00
chenguo
8d0c219dde qcacmn: Hook checksum offload INI key to DP TX path
Enable or disable TCP\UCP checksum offload for TX according
to the flag in wlan cfg module, which is determined by INI
(MCL) or initialization setting(WIN).

CRs-Fixed: 2155236
Change-Id: I0e30fc062a000c2d9c47674fe80da59a2ac0de51
2017-12-20 15:27:03 -08:00
Ruchi, Agrawal
4c1468fb23 qcacmn: RAW Mode EAPOL Frame Classification
Host CCE Classification changes for RAW Mode workaround
RAW Mode EAPOL frame classification for raw mode

Change-Id: I533c2e8bb55e3cd5088c6bff046e67066c784053
CRs-fixed: 2132295
2017-12-20 14:10:39 -08:00
Yuanyuan Liu
f67e197433 qcacmn: Remove unused ipa_connect/ipa_disconnect APIs
Remove unused ipa_connect/ipa_disconnect related APIs.

CRs-Fixed: 2160644
Change-Id: If45c60d8c73cc89719d1576171921c50261a23df
2017-12-20 13:25:53 -08:00
Kris Muthusamy
7e36889461 qcacmn: Adding vdev id for WDS add/del/update API's
- Update the WDS add/del/update dp api's with vdev context

Change-Id: I68bf5670232aaa4bb4cce6a6fe0f7b3b2e921143
CRs-fixed: 2133484
2017-12-20 11:45:07 -08:00
Soumya Bhat
f4cb93c5e7 qcacmn: Green AP framework
Add APIs for green AP convergence framework.

Change-Id: Icd4e676af1296843b0f64957e1d55db9b32f3e55
CRs-Fixed: 2142183
2017-12-20 09:25:08 -08:00
Nandha Kishore Easwaran
f832d98d72 qcacmn: Add NULL check for del igtk key
Add NULL check for deletion of igtk key to avoid
NULL pointer dereference

CRs-Fixed: 2149494
Change-Id: I365465233991e7c242bbd8d9b233f975d806dc05
2017-12-20 05:38:48 -08:00
Dustin Brown
47d702f693 qcacmn: Add qdf memory domain support
In order to support memory leak detection during a specific period of
time, add APIs to allow setting the current memory domain. Each
allocation is tracked against the current memory domain at the time of
allocation. Consumers can then check to ensure the memory domain is
empty before each transition to a different domain.

Change-Id: I3a8d18ea0700122a2425eacb6051c6188b9aa5d6
CRs-Fixed: 2113614
2017-12-20 05:38:45 -08:00
Om Prakash Tripathi
dbbb61a6cd qcacmn: Add support to append scan channel list
Add append bit in scan channel list command. If append bit
is set, new channels will be appended to existing channel
list else existing channel list will be over written
by new channel list.

Change-Id: I0b1ecd2b809aafe6e524a05aacd5b14c80640556
CRs-Fixed: 2159802
2017-12-20 01:39:00 -08:00
Kiran Venkatappa
111dcb8ef5 qcacmn: Allow NULL bssid get logically del peerlist API
Extend wlan_obj_psoc_populate_logically_del_peerlist_by_mac_n_bssid API
to provide peer across soc for NULL bssid.

Change-Id: I2e6ccccdedac30de4e38f840deb2507a811dc537
CRs-Fixed: 2159840
2017-12-19 23:24:18 -08:00
sumedh baikady
f7bbb3512f qcacmn: Add HE SU Radiotap Support
Keeping up with changes in radiotap header definitions
and spec. This change reads preamble info for HE SU from
phy tlv and populates the radiotap structure

Change-Id: I0663d1923f2a8277c62ab6c8378aaca026ce18db
Crs-fixed: 2144302
2017-12-19 21:25:03 -08:00
Kiran Kumar Lokere
91ad019921 qcacmn: Correct the log level for debug messages
Correct the log level for debug messages

Change-Id: I847d606ea28b382c1dd449221f72822cf37f2be8
CRs-Fixed: 2160779
2017-12-19 14:15:07 -08:00