提交線圖

422 次程式碼提交

作者 SHA1 備註 日期
Karunakar Dasineni
372647d95a qcacmn: Avoid REO queue setup after peer deletion
REO queue setup is getting triggered from processing
pending null queue exceptions in WBM release ring, after
sending peer delete command to FW, but before peer unmap
is received, causing target assert. Mark peer deletion
before sending peer delete command to avoid this.

Change-Id: I2d85d01e049cb37d9321beeee8e41f44e40e68ad
CRs-Fixed: 2155420
2018-01-19 13:34:25 -08:00
Anish Nataraj
45d282c2a8 qcacmn: Fix for correct per AC stats
Add ppdu tid tlv value assignment in cdp dp stats layer
ppdu tid value is used by apstats command it was earlier
showing zeroes

Change-Id: Id24b08d2424dcc09424624d84044b3963bd81b36
2018-01-19 12:20:25 -08:00
Anish Nataraj
072d897705 qcacmn: cck,nss and preamble update fix
cck rates were getting updated for ofdm rates
and nss index were getting wrongly incremented
fixed the same

Corrected sgi and preamble too

Change-Id: I2dabb685de6e0bd4ba5094845cde228b3c32e2a9
2018-01-19 12:20:24 -08:00
Pranita Solanke
ed0aba69a9 qcacmn: Rx and Tx peer statistics update
* Update the pkt_type counters correctly within the array bound
 * Add support for NSS counters on Tx side
 * Update ampdu flag in PPDU struct
 * Add support for ampdu flag in hal_ppdu struct

Change-Id: I79ea52727124ea4be4d82912cb2513ea58e2af10
2018-01-18 02:33:34 -08:00
Keyur Parekh
71ab9ef0b7 qcacmn: Populate mon_rx_status structure fields
Update mon_rx_status fields for HE case. Also
added rs_fcs_err field to structure and populate
its value.

Change-Id: I4681543c7d6c6c7ac0d666cd93072caaee285585
2018-01-17 23:38:07 -08:00
chenguo
d70b7d958d qcacmn: Fix memory leak in rx_wbm_error_process
The nbuf is not freed for all possible branches in rx_wbm_error_pr
cess function. Add fix to ensure the nbuf free for all conditions.

CRs-Fixed: 2171899
Change-Id: I8e40fc7dc5afb0be0257244e1e704a0200ffacc0
2018-01-17 11:00:37 -08:00
Santosh Anbu
2280e86440 qcacmn: Componentize extender AP
Remove dependency of extender ap on VAP layer and radio(ic) layer data
structure

Change-Id: Ib336f518847abd1b29f5ea3cfd1a508dc2cd14e8
CRs-Fixed: 2148247
2018-01-14 07:25:34 -08:00
chenguo
1dead6f99e qcacmn: Fix pointer dereference after memory free
The pointer to peer is dereferenced after memory free in peer
_unref_delete function. Fix the issue by changing function
call sequence.

CRs-Fixed: 2167698
Change-Id: Iebd8f958bde4964c16a3c312d037e8f06e319350
2018-01-14 07:25:31 -08:00
Venkateswara Swamy Bandaru
e91dd92e8b qcacmn: Mesh throughput enhancements
Sending all frames to firmware will have high throughput impact.
Queue mesh frames also to TCL/TQM and send cloned frame to firmware
only if meta header information is changed to update meta header
information. Increased meta info size as per new ext2 header.

Change-Id: I89ff27994477a5637979a9cd6a397286144b2535
CRs-Fixed: 2162643
2018-01-13 02:17:50 -08:00
Gurumoorthi Gnanasambandhan
306de84f27 qcacmn: Add mic error and decrypt error stats
Add mic error and decrypt error stats for Hawkeye

Change-Id: Id7f9b7bd47b4e33ead5493f92a517fbe0ee718af
CRs-Fixed: 2156676
2018-01-13 01:28:25 -08:00
Gyanranjan Hazarika
99a58d3b1a qcacmn: Add support for setaddbaresp cmd for HE
Addba recieve/response logic has been implemented in
host for HE instead of in FW like VHT. setaddbaresp
is not hooked to the dp module yet to set the addba
response from userspace. Implement the required logic
for HE to support this command.

Change-Id: I49cceca299db06d41f2cafa690f5ba59e01f1f4a
CRs-fixed: 2163475
2018-01-13 01:28:23 -08:00
Keyur Parekh
73554f9a8c qcacmn: pktlog host change for pdev id
Use correct API to extract pdev_id from HTT
message

Change-Id: Ia9e697f2a01391a073a68945de51c273efbfe5b5
2018-01-12 11:30:37 -08:00
Pamidipati, Vijay
7a4721f3ab qcacmn: Free Tx ME pool in detach path
Tx ME descriptors used for Tx Multicast enhancement are not freed
in pdev detach path causing memory leak. Fix this by freeing
them in pdev detach path.

Change-Id: I902e7a829495871e3d0013a9942f86c02bbba80e
CRs-Fixed: 2168524
2018-01-11 14:25:54 -08:00
Pamidipati, Vijay
8e79865e11 qcacmn: Correct the data type of byte count variable
Use a 64-bit data type for byte count variable to prevent
data overflow.

Change-Id: I0e4927ebeece05cb9ee0360400e6a0da27862d32
CRs-Fixed: 2165595
2018-01-11 14:25:52 -08:00
sumedh baikady
87d4967274 qcacmn: Fix Assert in dp_rx_mon_mpdu_pop
Disabling checking of msdu_done in monitor mode

Change-Id: I6c935dd74312a7023d5903346af9e2174c5ca7ce
Crs-fixed: 2167329
2018-01-11 10:08:00 -08:00
Tallapragada Kalyan
53f9e39a43 qcacmn: Fix sanity issue during peer delete
during peer delete we are trying to update peer stats to
vap_bss_peer, but in STA mode we do not have bss_peer,
this is resulting in an assert during peer delete in STA mode.

Change-Id: Ie302dd74caf2df3ffe0a57e9ecd22a0c31cbcb60
CRs-Fixed: 2168929
2018-01-10 00:25:26 -08:00
Kiran Venkatappa
96c42b6ae9 qcacmn: Save htt htc endpoint in transport layer
Buffers sent through htt htc endpoint is cleaned up within DP. Set this
endpoint in transport layer to ensure that transport layer skips buffers
from this endpoint during cleanup of pending buffers in source ring.

Change-Id: I3f7d36c26347b508913d4200e0806d93408097e8
CRs-Fixed: 2168235
2018-01-09 23:47:23 -08:00
Soumya Bhat
d4ad6afa37 qcacmn: Fix Rx pkt len in stats
Fix packet length updated in data path RX stats

Change-Id: I136901a526441f55361f3d7079a03608188996dc
2018-01-09 06:12:46 -08:00
chenguo
7853b790bf qcacmn: Free all resources when VDEV is detached
TX descriptors should be unmapped and freed when VDEV is detached.
Or else it will cause memory leak in qdf_mem.

CRs-Fixed: 2163178
Change-Id: I59da73787786f78c1f057e4daad7b4d53e7fbe4c
2018-01-08 18:28:40 -08:00
Pamidipati, Vijay
fb0d54d00c qcacmn: Fix kernel panic issue in multicast enhancement code
The kernel panic is seen because wrong variable was used , and this
variable was getting de-referenced without initialization.
Fix this by using the correct variable

Change-Id: I1f03c724f3ecba44a8ce0bc94242f2acafa5649d
CRs-Fixed: 2166423
2018-01-08 17:40:25 -08:00
Tallapragada Kalyan
4f894924e0 qcacmn: Fix vdev stats reset to zero on peer disassoc
vdev stats are getting reset to zero when a peer disassoc
with the AP. the fix is basically update peer stats to
bss_peer just before we delete the peer.

Change-Id: Ibada4ab82fbb68f32df89bdbae8b172bc8973fe7
2018-01-08 02:07:27 -08:00
Kiran Venkatappa
7ec5169030 qcacmn: Send frame as multicast if snoop entry not found
Send control packets as mcast even though snoop entry is not found
instead of dropping the frame. These control frames include IGMP/MLD
frames that is required to add the snoop entry.

Change-Id: If905b54e2ae9eaa3943428b36b1b894bcd528785
CRs-Fixed: 2133270
2018-01-08 00:32:18 -08:00
Stephan Raj Ignatious Durairaj
ba29129dfb qcacmn: dp support for inact timers
Added dp path function pointers for inact
timers and set params used in WifiSON
Load Balancing Daemon

Change-Id: Ic23d7b562b476c0fb92c8734b029a4e1632599a5
2018-01-04 17:37:47 -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
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
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
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
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
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
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
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
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
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
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
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
psimha
223883fb88 qcacmn: Handle RX defrag in exception path
- Perform SW chaining of fragments.
- Reinject only the head fragment to REO.

Change-Id: I198db3ba4319b8a2e800eb7495cf190c5e86d4cd
CRs-Fixed: 2144197
2017-12-18 15:55:14 -08:00
sumedh baikady
e3947bd8d6 qcacmn: Add stats for BA per Tid
Adds stats for number of ADDBA, DELBA requests,
pn size and window size per tid.

Change-Id: Ib7e3a9b948439695afd9a952fe46ac42ac58c653
CRs-fixed: 2151863
2017-12-16 19:25:08 -08:00
chenguo
8107b66d8f qcacmn: Fix NR_CPUS overflow for one byte data structure
For one byte data structure of unsigned type, it is expected that
the maximum value is 255. However, NR_CPUS is 512 in x86 setup of
Napier.

CRs-Fixed: 2158203
Change-Id: I057fb0cf3c11e687dfdd6cd2295b16743297d561
2017-12-16 13:27:46 -08:00
chenguo
2649554e73 qcacmn: Fix memory copy overflow in dp_process_htt_stat_msg
In dp_process_htt_stat_msg function, the stats message must be
interpreted one by one. It can't move to the next message unless
the current one is handled completedly. Or else it will cause a
memory copy overflow.

CRs-Fixed: 2156792
Change-Id: I8a3784cd17f2a68b16c4f47c6b1a24e12d23aaa5
2017-12-15 23:19:45 -08:00
nobelj
2c3db26446 qcacmn: passing correct argument to qdf_mem_set api
qdf_mem_set api parameter switched!
old
qdf_mem_set(void *ptr, uint32_t value, uint32_t num_bytes)

new
qdf_mem_set(void *ptr, uint32_t num_bytes, uint32_t value)

Change-Id: I4ebbc222d32e6fe18c28f2446102c95bfc734c8e
2017-12-14 17:45:20 -08:00
Lin Bai
fca7640032 qcacmn: Fix memory leak when failing to delete RX TID
During RX TID deletion, if FLUSH_CACHE REO cmd fail to be sent,
the required callback function won't be invoked, hence
local allocated REO desc and related TID queue desc will leak.

Do clean up when REO cmd failed to be sent.

CRs-Fixed: 2155929
Change-Id: I02ff4a2340ad32986c30b935a376924bb75edb67
2017-12-14 17:45:18 -08:00
chenguo
85d964f48b qcacmn: Add AST type for DP path
There is a hard-coded AST type number used for DP path, which will
cause poor readability. Fix this problem by using a pre-defined
constant type value.

CRs-Fixed: 2142975
Change-Id: I3520970bf59ea7152a0851cfdc3b8e7943ddbc19
2017-12-13 23:38:12 -08:00
nobelj
d124b749b7 qcacmn: Add support to set monitor filter dynamically
htt_h2t_rx_ring_cfg is invoked with suitable configuration based on
filter passed by wlan_set_monitor_filter.

Change-Id: I2fbb81e95903ae1bead92892fdb3165c8a515f14
2017-12-13 20:08:29 -08:00
Tallapragada Kalyan
2a5fc625d2 qcacmn: Add WDS Vendor Extension ECM Framework
Add WDS tx/rx policy checks in Tx and Rx datapaths.
In Rx path, check packets against rx policy configured
In Tx Reinject path, checks are to process or drop 4-addr/3-addr packets
to peers decisively

Change-Id: I0a6c01b7555fa5d369ab2c9baf454d49808857fc
2017-12-13 12:15:54 -08:00
jiad
9dee72a40c qcacmn: fix invalid vdev for group tkip mic error
In tkip mic error handler, addr1 (RA) is used to find vdev.
This is fine for unicast tkip mic error. But for group tkip
mic error, addr1 will be group address thus vdev will not
be correctly returned.

Fix is to use sw_peer_id in rx_mpdu_start tlv to find peer.
And use peer to find corresponding vdev and pdev.

Change-Id: I1e9e461318e25184ef7113132adaa7fe7853924d
CRs-Fixed: 2157532
2017-12-13 05:40:24 -08:00
Soumya Bhat
5c60deba48 qcacmn: Send RX DESC WDI event with AM Copy mode
Add support to send RX PPDU metadata, when AM copy mode is
enabled.

Change-Id: I1971dcb7653421d25bd40c52e257d9b06ffaaf38
CRs-Fixed: 2157345
2017-12-12 21:27:35 -08:00