Revīziju grafs

546 Revīzijas

Autors SHA1 Ziņojums Datums
Lihua Liu
9feb40d5e3 qcacmn: Decrease log level to avoid excessive logging
Change log level from ERROR to DEBUG in function dp_rx_mon_deliver.

CRs-Fixed: 2214694
Change-Id: I1a7fb483beec583c69e5b29c4fabb61e512f6f8f
2018-04-19 14:15:27 -07:00
Manjunathappa Prakash
38205cc1b7 qcacmn: Create flow control pools on vdev start
As many as 5 vdevs can be created, which is defined by MAX_SME_SESSIONS.
But flow control pools are only valid for active TxRx capable vdevs.
which is 3 active vdevs. So attach flow pool creation to vdev_start
instead of vdev_attach.

Change-Id: I137676ba618aa3a6684c7d17ef7d9263c4df6efe
CRs-Fixed: 2220079
2018-04-17 13:17:49 -07:00
Pamidipati, Vijay
d578db10c0 qcacmn: Handle STA roaming to another AP/Repeater
Add support in DP WDS source port learning handler to kickout a STA,
when direct associated peer(SA) roams to another AP/Repeater and
reachable via TA peer

Change-Id: I84d0b92c9b4e39c05f4d7c25b3f5afb1d535ca02
CRs-Fixed: 2219924
2018-04-17 05:09:05 -07:00
Shaakir Mohamed
19f4f63c35 qcacmn: Fix AMPDU status info in radiotap header
AMPDU flag check is not present when radiotap header is updated.
This fix will check for rs_flags to check and set AMPDU present

Change-Id: I9e0a703a46459b1013af092f8cb8b7cd35f1a3ce
CRs-Fixed: 2204278
2018-04-16 16:57:05 -07:00
Aditya Sathish
6add3db0d6 qcacmn: Fix Multicast RX Bytes and TX Packet Value in Node Stats
Fix for setting the right length when incrementing Rx Multicast
Bytes value

Fix for incrementing the Tx multicast packet value by correctly
returning the peer pointer to the stats function.

Change-Id: I46d59b7a71936d6eefdcba4419d0737f70aa4d48
CRs-Fixed: 2220973
2018-04-16 08:48:08 -07:00
sumedh baikady
eca2de6c6d qcacmn: Fix KW Null dereferencing issues
Fix static analysis KW issues related to
NULL dereferencing.
CRs-fixed: 2220248

Change-Id: Iecf37218782133eaf94f81d975478d71e308eca3
2018-04-14 10:18:02 -07:00
chenguo
ec84983f42 qcacmn: Correct BW statistics printing for txrx_stats commands
BW statistics of TX is wrongly mapped as below:
80M counter ==> 20M counter

Make below correction:
20M counter ==> 20M counter
80M counter ==> 80M counter

CRs-Fixed: 2221744
Change-Id: Ic362e550b9f1a0a24d8ba646a885d04baea53d8d
2018-04-14 04:53:22 -07:00
Venkata Sharath Chandra Manchala
e37bc4601e qcacmn: Add stats counters to account for Error packets
Retrieve length from every htt msg to
parse the tlv's from the htt msg and also
add statistics counters to account for error
packets in Rx path.

Change-Id: I17105174734975dc0d5093c587697346a8ada725
CRs-Fixed: 2214594
2018-04-11 09:15:22 -07:00
Soumya Bhat
35fc699c0f qcacmn: Populate RX PPDU length
Add change to compute and populate RX ppdu length
from RX ampdu length.

Change-Id: I0e60764be1d3b0a0e69a8dc52cfb094a5df0f596
2018-04-11 09:15:12 -07:00
sumedh baikady
68450abc57 qcacmn: Fix peer NULL check in peer map handler
For FTM mode we receive peer map events without
peer created. This change checks for peer NULL case
to access peer vdev.

Change-Id: I1998e33ca3d9338dba939dc760dcf7bfdb70d1e3
Crs-fixed: 2212203
2018-04-10 18:43:55 -07:00
Ruchi, Agrawal
1ca70f07c8 qcacmn: Resolve KW issues
Add NULL check for nbuf_clone after calling
qdf_nbuf_clone

Change-Id: Ibffff984b0ace3c5ea19fb72f0e56e041eba0b14
CRs-Fixed: 2209137
2018-04-09 13:35:24 -07:00
Soumya Bhat
402fe1a26a qcacmn: Tx capture/Mcopy mode changes
The following changes are added for Tx capture/Mcopy mode
1. Append ppduid for FW generated mgmt. frames
2. Append ppduid received in mgmt. TX completion for host
   generated mgmt. frames
3. Reuse nbuf received in HTT msg to send mgmt. payload to
   upper layers

Change-Id: I073cafa6389ed1ed835cc3ba4b9421b7a4b97d7f
CRs-Fixed: 2185543
2018-04-06 14:47:18 -07:00
Ruchi, Agrawal
44461ef589 qcacmn: Resolve peer ref count increment issue
Resolve peer ref count issue for correct peer
delete sequence.

Change-Id: Ifa34b6d3c8089fba09d1b25f65b26bff721c8ab1
CRs-Fixed: 2209045
2018-04-06 14:47:14 -07:00
Venkata Sharath Chandra Manchala
16fcceb7de qcacmn: Change the buffer manager
Change the buffer manager from HAL_RX_BUF_RBM_SW3_BM to
HAL_RX_BUF_RBM_SW1_BM to handle regular and error packets.

Change-Id: I696d41f6cf0be1d5045ab27841ccc3ee2afea7de
CRs-Fixed: 2189452
2018-04-06 13:25:31 -07:00
Tallapragada Kalyan
e33a5632b8 qcacmn: add abstraction to update rx stats
Add a new API to update the stats which will be
called from dp_rx_process instead of updating stats
directly from within the dp_rx_process function

Change-Id: I13bdfd1606c3ceb2e38921ffa0cf3fe9f29c57ee
CRs-Fixed: 2189088
2018-04-05 07:46:47 -07:00
Soumya Bhat
560f90ce73 qcacmn: send packets for invalid peers
Add change to process packets received for invalid peer
when m_copy mode is enabled

Change-Id: I85aa41ff79e97eee9c696b63717206ac1329078e
CRs-Fixed: 2194058
2018-04-04 07:37:39 -07:00
Ruchi, Agrawal
89219d97b4 qcacmn: ast entry reset api for son
API to reset ast entry for son, ast entry active
field will be set on call of reset_api and all the
ast entry active field will reset on call of reset_table
api, ast_flush api will delete enteries in table

Change-Id: I26ed0fff818a112348a7aefba3b028ed40b2fe26
CRs-Fixed: 2209095
2018-04-03 16:50:17 -07:00
Chaithanya Garrepalli
e323f80584 qcacmn: remove assert for peer delete_in_progress from peer map
At the time of peer map delete_in_progress can be set for newly
created peer in case host send sends the peer delete to FW before
we receive the peer map even from FW

Hence removing the assert to check delete_in_progress flag in
peer map

Change-Id: I28b2f46cf4fdd12bf98ce54dd7dcea68d96dc795
CRs-Fixed: 2216550
2018-04-03 02:56:22 -07:00
Chaithanya Garrepalli
0323f80221 qcacmn: Correct peer create-delete sequence
If peer with given MAC Address
already exists, just increment the refcnt
instead of allocating a new peer and deleting older
peer object. This avoids unnecessary memory fragmentation.

Change-Id: I76a3ffca4e907fccfdfd1b6857de721623f455d5
CRs-Fixed: 2209045
2018-04-02 15:21:55 -07:00
Anish Nataraj
cf526b7b9f qcacmn: Free memory for ppdu descriptor tlv list in detach path
ppdu tlvs are maintained in linked list and was not freed in detach
path but only freed after wdi post message. This was causing memory
leak to happen

Change-Id: I7b7b49d7ec829a6ef6b99edb1c7999bed713ae49
2018-04-02 03:09:00 -07:00
Venkata Sharath Chandra Manchala
bcfa6d8683 qcacmn: Add lock to protect rx_desc_pool
Create a lock for protecting rx descriptor
pool allocation during initialization and destroy it
during unloading the driver.

Change-Id: Icd489e400dab9bb648709134dcaa24c4d7724aa6
CRs-Fixed: 2215430
2018-04-01 21:02:38 -07:00
Sumedh Baikady
12b2b2c897 qcacmn: Use mon_lock while accessing monitor vap
Use monitor mode lock to prevent vap down while monitor
vap is still delivering all MPDUs to radiotap Api.

Change-Id: I908d8048afbf3210bddaafc2c19b177ec8209085
CRs-fixed: 2212004
2018-04-01 19:40:48 -07:00
Karunakar Dasineni
bef3b1b9b2 qcacmn: Disable batch intr for SW source rings
Source SRNG rings like RXDMA buffer rings only need low
threshold interrupts to ensure they are not empty. Disable
batch interrupts by setting batch count to 0.

Change-Id: I5de38caa1fccf162143d9598c0499dd8c5318391
2018-03-30 22:35:09 -07:00
psimha
2bcdb546e5 qcacmn: Dump TLVs before freeing nbuf
Call dump packet TLVs API before freeing the nbuf containing the TLVs

Change-Id: I6d27de4d3331cbf7bd45d1d2b1ba5122f25b9f24
CRs-Fixed: 2213769
2018-03-30 13:30:48 -07:00
Soumya Bhat
dc8aca8501 qcacmn: Strip additional bytes from skb containing Rx payload
In existing code, the RX payload buffer for M-copy mode contained
RX MSDU payload followed by additional TLV data.

Add change to strip the skb and only provide MSDU payload

Change-Id: I9834fabfb0e26404a620d8419e7c570fff68f182
2018-03-30 06:31:18 -07:00
Venkateswara Swamy Bandaru
7fc11f76a3 qcacmn: Fix htt_included bit set for tx frames
Set htt_included bit for frames that have only valid htt header.

Change-Id: I481282c74ca7d247dece25aedf5f95f641260bda
CRs-Fixed: 2206348
2018-03-30 04:04:36 -07:00
Chaithanya Garrepalli
4c7099f001 qcacmn: Add lock for update ast entry
Add lock protection while update of ast entry for
peer

Change-Id: I0f61add9a06174303b40b017a6f1f2d202f3cf55
CRs-Fixed: 2210301
2018-03-30 02:46:44 -07:00
Anish Nataraj
f12b0a3463 qcacmn: Update netdevice stats to reflect ifconfig counters
netdevice_stats structure tx/rx/drop/error counters are assigned
proper values

Change-Id: I8e123a810a02292339a34b54bfebe3a56ae99dbd
2018-03-29 20:14:03 -07:00
Anish Nataraj
0573462cb2 qcacmn: Aggregate peer rssi and rx rate stats
peer rssi and rx rate stats counters aggregated
to vdev/pdev level so that athstats shows proper values

Change-Id: I4d4a28006c30b1f2eba77bbeaddb9723626166db
2018-03-29 20:14:01 -07:00
Gurumoorthi Gnanasambandhan
8387311409 qcacmn: Handle invalid peer after deauth
Receiving HAL_RXDMA_ERR_UNENCRYPTED instead
of REO null desc exception for invalid peer.
Handle invalid peer in HAL_RXDMA_ERR_UNENCRYPTED
path also.

Change-Id: Ibb01ab7f23648bca15c86553ec53afa5fb181ad6
2018-03-28 20:01:46 -07:00
Chaithanya Garrepalli
8e5e2f86c4 qcacmn: Fix for the rx_desc leak
In dp_rx_get_free_desc_list() corrected the
return value in case when the number of requested
rx_desc are not available in the pool

Change-Id: I3de026726e885b8fe707f7c7318cc1936be73e65
CRs-Fixed: 2202247
2018-03-28 06:26:42 -07:00
Prathyusha Guduri
668c22c96b qcacmn: Fix BW mapping on host and add Tx nss stat
Stats counters for BW were not printed correctly due to difference in
mapping of BW on host and FW.

Also added Tx NSS stats during aggregate vdev stats

Change-Id: I348a5f9f974544ffe17ba403cd64769eff05c9b5
CRs-Fixed: 2203582
2018-03-27 05:47:40 -07:00
psimha
65180eceac qcacmn: Fix SW desc leak in defrag path
Free SW desc in failure paths of rx defragmentation.

Change-Id: I9d24c0db238cab0e330c710b6328a347b6c07590
CRs-Fixed: 2208292
2018-03-26 18:55:33 -07:00
Soumya Bhat
33a8822118 qcacmn: Fix use after free for vdev
In existing code vdev is getting referenced after being
freed, during pdev detach while releasing tx descriptors.

Add code to drain tx descriptiors during vdev detach.

Change-Id: I2ea447d5d0a5be6539fddacb4b1c0b5f4601a71e
CRs-Fixed: 2203070
2018-03-23 07:20:04 -07:00
chenguo
07e2404dd9 qcacmn: Add reaping RXDMA status ring for 2.4GHz MAC for PKTLOG
Traffic will hang during PKTLOG operations for 2.4GHz Mac. The reason
is that Reaping operation is missed for RXDMPA status ring for MAC1.

Add reaping MAC1 along with MAC0 for 2.4GHz band during PKTLOG
operations in mission mode.

CRs-Fixed: 2198593
Change-Id: I8591c6cd85d7970c2d0835e18dbfd74d2aaae08e
2018-03-23 04:37:41 -07:00
Abhiram Jogadenu
27d55ecd7d qcacmn: Add support for PPDU ACK timestamp
Make Ack timestamp same as PPDU END timestamp

Change-Id: I4030f461ed19d46e176819168ceca735c7c63f9f
2018-03-21 22:42:50 -07:00
Chaithanya Garrepalli
a4ea3a95ef qcacmn: remove addtional checks in __dp_peer_find_by_id
Remove checks which are not needed from __dp_peer_find_by_id

Change-Id: I31e660ef8af070cd6e3f7a892ffd9cc05ec21712
2018-03-21 22:42:48 -07:00
Venkata Sharath Chandra Manchala
8ec45bbd33 qcacmn: Propagate reception type parameter
Propagate reception type data captured at peer level
to pdev level

Change-Id: Ie57ee07d6deccbf4aa5259d9e30bd1437fb304ee
CRs-Fixed: 2207518
2018-03-21 18:57:46 -07:00
Manjunathappa Prakash
86f4ba70f3 qcacmn: Allocate HW link desc pools for each mac
MCL operates on both macs with single pdev. So allocate HW link
descriptor pools for each macs.

Change-Id: I5a373bfbd1d15557e1fc66b8af17c2a130cdf5f9
CRs-Fixed: 2176848
2018-03-20 15:55:02 -07:00
chenguo
cd0f313885 qcacmn: Add RXDMA err process for RING 1
In monitor mode, it is needed to reap RXDMP error ring for RING1.
Also need to replenish for RING1.

Add this missing operations.

CRs-Fixed: 2190071
Change-Id: I8cd60c6cb70b472a26d55783d0964e85e99680b9
2018-03-20 15:55:00 -07:00
Manjunathappa Prakash
d9ce350f01 qcacmn: Initialize and reap both 2.4GHz and 5GHz MACs
Initialize MAC1 along with MAC0. 2.4GHz monitor mode operates on
MAC1 so initialize MAC1 and reap both MAC0 and MAC1.

Change-Id: Id281def37d460b224f5f571893266f193846fd0c
CRs-Fixed: 2176848
2018-03-20 15:54:58 -07:00
Chaithanya Garrepalli
974da2640a qcacmn: Avoid reference of peer object after peer_teardown
In API dp_peer_find_by_id return NULL if delete_in_progress
bit is set, this will avoid referencing peer memory which will
be free in peer_unmap event asynchronously.

Change-Id: Ieab559b9274a886809a9baa9bb348d348e924625
CRs-fixed: 2194265
2018-03-20 07:38:25 -07:00
Nandha Kishore Easwaran
3053deedfa qcacmn: Avoid mcast check in qwrap isolation mode
Donot perform mcast echo check in case of qwrap isolation mode.
In qwrap isolation mode, packets from wired station reaches the wireless
station via the rootap. Thus we need to allow loopback packets in qwrap
isolation mode.
Also add a configuration to set isolation mode.

Change-Id: If4a63abd477596f6b48c6cf9b6e7e5bd84ec95c0
CRs-fixed: 2204033
2018-03-20 05:59:09 -07:00
Tallapragada Kalyan
71c46b9357 qcacmn: WDS and AST specific code under different compile time flag
Based on requirement from customer we have re-organised
AST specific and WDS specific code under different compile
time flags.

Change-Id: Icbb0dff7c2e7a2239d82c296468fa8d3e4f53021
2018-03-20 05:59:07 -07:00
Anish Nataraj
5034701e13 qcacmn: Assign ldpc from ppdu info and non-amsdu counter increment
Update ppdu rx stats ldpc value into cdp rx indication structure
Also, increment non-amsdu counter for peer/vdev/pdev level stats

Change-Id: I252b71756db7019c5a6d60eeebf9f0c782266e34
2018-03-20 02:10:09 -07:00
Anish Nataraj
0dae67614e qcacmn: Assign bss peer in peer map event
Assign num_mpdu to mpdu_tried_mcast for mcast stats updation
Defer bss peer assigning till peer map event arrives
Do not set delete_in_progress for bss Peer

Change-Id: I0881ea3c8804990c336d97cb7b239a991ec64fa9
2018-03-20 02:10:07 -07:00
Tallapragada Kalyan
084a46d276 qcacmn: memory leak in invalid peer handler
We need to free the chain of nbufs associated to
an a-msdu if its last msdu is not received and the one
received belongs to a new a-amsdu

Change-Id: Id90e58306650ad885caa79271e81de3bf81ee5bd
2018-03-16 03:36:11 -07:00
Tallapragada Kalyan
7a47aac367 qcacmn: Remove AST entry from previous peer ast_list for ast update
Remove ast entry from the previous peer ast_list and add it to the
new peer ast_list when ast_update is called

Change-Id: Ic6e628ec2c225e6743d042fe3f3e227cb1864a3c
2018-03-14 09:57:13 -07:00
jinweic chen
e87355474f qcacmn: fix monitor nbuf double unmap when rmmod
When reaping rx monitor msdu in dp_rx_mon_mpdu_pop, if msdu_ppdu_id >
ppdu_id, then the corresbonding dp_rx_desc will not be added to free list,
and in_use flag still is 1 but it has done nbuf unmap which linked
to this rx desc. meantime, if rmmod triggered then it will go through the
rx desc pool and unmap the linked nbuf that in_use flag is 1, panic
happened. add unmapped flag checking to avoid double unmap.

CRs-fixed: 2201071

Change-Id: Idead32b189f513897deebf646b72585b257151c2
2018-03-13 19:49:13 -07:00
Ruchi, Agrawal
d536f88dda qcacmn: Add correct peer macaddr entry for son
Adding correct peer mac addr for HM_WDS son to avoid
target assert

Change-Id: I3c8ecbf46e336997597893c5093e7de698a61182
CRs-Fixed: 2195984
2018-03-13 11:05:37 -07:00