Currently peer is not added to the dp pdev local peer id map when
resuing the peer reference. As a result register peer with the
dp fails and tx is not allowed. This leads to connection failures
as EAPOL tx is not permitted. In this change add peer to the pdev
local peer id map when existing dp peer reference is used.
Change-Id: I02221115e07450466ad165a6e0861d340cdbda4a
CRs-Fixed: 2241763
Cancel broadcast of probe response if beacon is already sent
in beacon offload.
Change-Id: I4fea51433fbb959e05988c2daac89fbe839b1cdf
CRs-Fixed: 2209282
Excessive logging to console in dp_rx_null_q_desc_handle which
executes in soft irq context is leading to scheduler watch dog bite.
Reduce the severity of the logs to prevent flooding to the console.
Change-Id: I7cced611be6f59d31d315f797fe95ea465658009
CRs-fixed: 2242652
If host receive the tx completion with invalid tx_desc ID,
panic happened. add the tx desc ID check both on dp_tx_hw_enqueue
and dp_tx_comp_handler to know that how this invalid tx_desc ID
is generated by which reason of below two:
1. host tx desc is corrupted and fill in invalid id to TCL_DATA_CMD.
2. FW or HW generate invalid TX compl to host.
Change-Id: Id2b070697199b19f83e5d9fd89eadcfe0423d617
CRs-Fixed: 2243455
Peer's RX TID may already be added to defrag's waitlist when it is
removed. Then use-after-free occurs when waitlist be accessed later.
Remove current peer's entries from waitlist, before it is freed.
As waitlist may be accessed from two contexts, additional lock
introduced to protect waitlist.
CRs-Fixed: 2244566
Change-Id: I8f1935973372a81086e9dbd992ac771b6709a677
Different peer may use same TID to receive fragment msdu. To avoid
such mismatch, compare both peer and TID number when removing entry
from defrag's waitlist.
CRs-Fixed: 2246558
Change-Id: I80d81e4fa8bef3df429c2a28f2e50135e7fd225f
Current lithim_dp flow pool created in wma_vdev_start, wma_vdev_start
is called for same vdev multiple times for vdev. This leads to creation
of multiple flow pools for each vdev. Instead create from policy_manager
when session become active.
Register flow pool create/delete callbacks with policy manager.
So that lithium_dp vdev flow pools are created/deleted when vdev
become active/not-active.
Change-Id: Iaf6aaece47c79c7e6f7745feaee35a6bc5cd1297
CRs-Fixed: 2231601
The avail_desc is not set to 0 when the tx desc pool is
freed, later if still try to allocate tx desc by judgement
of avail_desc, panic happens.
Change-Id: Ia4565da1caa6898c6d4293e2658cf4ccf89563fa
CRs-Fixed: 2246328
There are several indent errors for DP statistics counter prints.
Made adjustment to them to avoid confusion and misleading problem
for statistics readers.
CRs-Fixed: 2245604
Change-Id: Ia46ae8e803e41e5f379408156bfbe209a4ebbc79
Add prints to track:
* Incoming TLVs in the monitor mode status ring.
* HE, HE-MU and HE-MU-Other values being passed to the
stack.
Change-Id: Ib23336353dc4a2253a62444b767d2a706ce372ea
CRs-Fixed: 2242514
Before showing DP statistics, per VDEV and per peer statistics
counters will be aggregated together and stats.rx data member of
PDEV will be set to all zeros. So only need to update per peer
statitics counters in RX stats_update.
Delete the obsolete PDEV stats.rx update operations.
CRs-Fixed: 2237020
Change-Id: Iba6437e6010dd8f87a3f152a529a8b0bc632972d
Enable raw mode cce classification only for packets for
which WEP bit is not set
Change-Id: I5249f197d5a3e00c73c6866011ba5f3a36868c0f
CRs-Fixed: 2132317
Address the following issues in the dp folder:
CHECK: 'availble' may be misspelled - perhaps 'available'?
CHECK: 'catagory' may be misspelled - perhaps 'category'?
CHECK: 'endianess' may be misspelled - perhaps 'endianness'?
CHECK: 'exceded' may be misspelled - perhaps 'exceeded'?
CHECK: 'explicitely' may be misspelled - perhaps 'explicitly'?
CHECK: 'Inteface' may be misspelled - perhaps 'Interface'?
CHECK: 'lengh' may be misspelled - perhaps 'length'?
CHECK: 'messsages' may be misspelled - perhaps 'messages'?
CHECK: 'miscelleneous' may be misspelled - perhaps 'miscellaneous'?
CHECK: 'Ouput' may be misspelled - perhaps 'Output'?
CHECK: 'poiter' may be misspelled - perhaps 'pointer'?
CHECK: 'Poiter' may be misspelled - perhaps 'Pointer'?
CHECK: 'psuedo' may be misspelled - perhaps 'pseudo'?
CHECK: 'registerd' may be misspelled - perhaps 'registered'?
CHECK: 'requred' may be misspelled - perhaps 'required'?
CHECK: 'retreive' may be misspelled - perhaps 'retrieve'?
CHECK: 'succesfully' may be misspelled - perhaps 'successfully'?
CHECK: 'vaild' may be misspelled - perhaps 'valid'?
CHECK: 'virtaul' may be misspelled - perhaps 'virtual'?
Change-Id: I66b9cdc6115dd133b385e60c9d02cefd1bd0bac3
CRs-Fixed: 2241574
Drop MPDUs received with rxdma_overflow_err, rxdma_flush
or rxdma_mpdu_length_err errors on monitor RXDMA2SW ring
since Rx TLVs are not populated properly by HW.
Change-Id: I3d4399f4c2b4bbe21e9f6b1b24369a633e964154
CRs-Fixed: 2233141
In case of raw mode HW does not set the l2 header offset.
ignore this field in rx for rawmode.
Change-Id: I6e08a9540f55fdb97b21e4939256e6e5b9076e77
CRs-Fixed: 2243850
HMWDS for legacy was broken during bring up of DBDC on Hawkeye
platform.
Add cmn_tx_ops to support add, delete and update of AST entries.
Change-Id: Ia2a465a1f5f3d304a35d02c33bff73c56bb010a3
CRs-Fixed: 2225830
"(" character should not appear in macro parameter list. Remove
this illegal character to avoid compiling error.
CRs-Fixed: 2239574
Change-Id: Ie50feb5dacda52edb0b1a4fcdfd516e909c7bda8
Add sanity checks for pool id & index extracted
from the SW cookie field within buf_addr_info.
Change-Id: Icf21b94fa05f6f8887b8c7a17896348f25436dda
CRs-Fixed: 2220030
In VHT case, for some packets SGI value is 3, which
represent 3.2us value. Which is not applicable for VHT.
So if value 3 received from HW for SGI, than convert that
to default value, which is 0.4us.
Change-Id: I92716f8041f0db20b60dcd5e5d6681fa1bfa708f
Set pdev mask in the HTT Stats request based on
mac id number provided from the user.
Change-Id: Ie8f1208fd3598efd2ea3736719c8b444ef86881a
CRs-Fixed: 2237467
Enable multiqueue on VAP with 4 Tx and Rx queues in lithium.
In Rx path set the rx queue of skb based on the reo ring id on which it
is received.
In Tx path use the queue_mapping of skb to map to the hardware Tx ring
on which it has to be transmitted.
Change-Id: I103a21e91d1ed5c0e1d8441863d4fcd273b7bed9
Cleaned raw mode specific code and moved the rx
processing to single API dp_rx_sg_create
Change-Id: I7696786d9a0f10983d3299956b46b2ec76b388a5
CRs-fixed: 2204824
There may be race condition in setting htt included when tx desciptors
getting prepared in two cpu cores. This is fixed by not setting the
bit globally.
Change-Id: I861cb2f0cf51a5a14a8fb6fbc6b64b00b82af675
CRs-Fixed: 2229350
Return buffer manager for error packets has been changed
from HAL_RX_BUF_RBM_SW3_BM to HAL_RX_BUF_RBM_SW1_BM.
Fix is to use DP_WBM2SW_RBM to check correct rbm.
Change-Id: Ib5ffe7161f85fe6a374f16a06a1f6f4f701abe0b
CRs-Fixed: 2231571
Remove NAWDS Rx Drop Count as it is not required,
drop packets in rx where length is not
available.
Change-Id: Ib4b41eefe88410137c3845090783ee43adb9147c
CRs-Fixed: 2191474
Avoid vdev aggregate stats for every ppdu stats event as it is
consuming high CPU in veriwave max clients testcase. Instead
aggregate the stats when ifconfig athX command is issued. Add
CDP API to aggregate and update stats called when needed
Change-Id: I801d5f8fab0c275942b77a9975293f95bd4026b0
CRs-Fixed: 2220704
While doing RX NSS statistics counting, only MU_MIMO and MU_OFDMA_
MIMO frames are taken into consideration. So all NSS counter for
SU frames are missed.
Add RX NSS statistics counting for SU frames.
CRs-Fixed: 2228332
Change-Id: I5ee9b8f03177d31f5891a2e4e616b5740fec35f6
Make sure to clear the tx_desc->flags field before putting the tx_desc to
free pool. This was not takencare in V2 flow_control implementation.
Change-Id: I666b9b09de62d52cffc45e2b6db3a6be06d688e8
CRs-Fixed: 2186884