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
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
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
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
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
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
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
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
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
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
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
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
Based on requirement from customer we have re-organised
AST specific and WDS specific code under different compile
time flags.
Change-Id: Icbb0dff7c2e7a2239d82c296468fa8d3e4f53021
Disable HTT_PPDU_STATS_TX_MGMTCTRL_PAYLOAD_TLV for Pktlog
Tx path for MCL only as it is currently a requirement
for WIN to keep it enabled.
Change-Id: If162384783139613f1bdad1d3820288a7887286d
CRs-Fixed: 2182626
Add linked list logic to hold all ppdu descriptor status in a list till
all TLVs have been processed
This design handles asynchronous arrival of tlvs from fw per ppdu
Change-Id: Ib8943d7c826c0b441f58f0eaba7ae0bdc0539d9a
In existing code M-copy feature was designed to provide
first 100bytes of payload of self BSS packets.
Add change to enable promiscusous mode and provide metadata and
100bytes of payload of all the packets received by the radio.
Change-Id: I5b1f168028a4fba3a24e9d2ccd0d68c246661d76
Change default DSCP-TID mapping table so that all possible TID
values can be used in transmit datapath.
Also propagate a fix from legacy Tx classification code required
to compute the offset of L3 header pointer correctly
Change-Id: Ia6426817410e67018491c0f4a8122bfae7a1cfe2
CRs-Fixed: 2197640
1) for raw mode, drop frames with invalid size
2) for non-raw mode, fixed issue that
frag list data_len's not properly calculated
The length issues will introduce kernel issues
during skb_linearize() at upper OS network stack layer.
Symptoms:
1)
WARNING: at net/core/skbuff.c:1782
PC is at skb_copy_bits+0x1b8/0x230
2)
kernel BU at net/core/skbuff.c:1615!
PC is at __pskb_pull_tail+0x70/0x2e4
CRs-fixed: 2188754
Change-Id: I848ec976cd922708ffd02d8272ea5a6f3bce2a00
CCE disable param set based on return value
which has to be checked for 1, instead of
any return value non zero
Change-Id: Ia48e5d0f50a49944dbf7ca048aab1220d8989beb
CRs-Fixed: 2132295
Add protection for vdev & peer while traversing during collecting
control frame stats.
Change-Id: I1e8e4e5f6f94b35644e03ddafc03b0d885d27972
CRs-Fixed: 2189230
Add htt tx and rx structs from HTT to cdp_pdev_stats.
These Fw tx and rx stats are obtained through HTT events.
athstats application uses cdp_pdev_stats that contains host stats
and fw stats.
Change-Id: Ia063f406bdc6d32a684c4026b8425ecc96faa3db
CRs-Fixed: 2190793
Vdev detach does not happen till all the peers associated
the vdev are deleted. because of DBDC repeater feature,
we are creating a self peer even for STA VAP and were not
deleteing it properly causing a memory leak. This change
fixes this issue.
Change-Id: I39d271bef5d5adc6e94333a3fbc483bdb7067f27
CRs-Fixed: 2193590
Tx completion success counters are not being updated correctly.
Accumulate successful completions in tx_success variable.
Change-Id: I290e581e93e03ad23e349c9df7834174d6d3a787
CRs-Fixed: 2191599
As part of init FR, osif_pdev object stores pdev object, so same has
to be passed as param.
Change-Id: Ic9c41e5ef54fdb80898f10f27a86970e76d1f24c
CRs-Fixed: 2188451
Add change in driver to get RSSI of non associated clients.
This is done in 2 levels of filtering
1. Send WMI to FW to configure BSSID in HW
2. Filter the neighbour BSSID packets received in host for
the configured client mac
Change-Id: I6b684b83cecb308dac326056aa77537aee07b933
CRs-Fixed: 2148773
1. After mem_free() is done for a vdev without peers,
set it to NULL so that later check can catch it.If not,
it could be used to increment stats.
2. After a bss peer is freed, mark it as NULL so that
it is not used again to update stats.
Change-Id: I82e73c29c1409aac1af735ab849e8b07d387acf2
Change REO queue descriptor delete sequence to flush base and
extension descriptors separately, since flushing base descriptor
alone results in extensions flushed by HW much later,
sometimes after freeing descriptor memory, causing use-after-free
corruptions. Also increase REO command and status ring sizes
since number of commands per RX TID flush has increased with
this change.
Fix interrupt batch count setting for non pkt/buffer rings,
which includes REO status ring.
Also remove callbacks during reo command list destroy,
done as part of SOC detach. This should not be done since
callbacks will access stale data structures that are freed
as part of PDEV/SOC detach.
Change-Id: I4337454d3f53cc0b3c3014ef07cc2ba13cfebb18
CRs-Fixed: 2175989
Add APIs to be used by extended DP modules to attach/detach
their respective handles with Core DP module.
Change-Id: I63cf0883f7462a11b49666bda697c7e872d7b925
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
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
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
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
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
STATUS_DONE is missing sometimes in monitor status ring,
causing stalled processing in host and backpressure to RXDMA.
Adding a WAR to skip such entries.
Also increased the size of monitor link descriptor ring since
multiple descriptors are used for large MPDUs.
Change-Id: I556b4196482ed738471afc1f7e7b73cf3f8fbc51
Set link descriptor memory address to NULL after freeing to ensure
it is not freed again. This is seen with soc_detach called during
attach failures.
Change-Id: I7338cb8c64fcb652c95f42bcb9e998a6f043cecf
CRs-Fixed: 2160703
pass psoc/pdev object as ctrl pointers to instead of legacy objects.
It introduces new APIs to get feature pointers of psoc/pdev.
DP attach API param modified to pass ctrl psoc (psoc object)
Change-Id: I3d83f28c3e72e5ee984a4220b9d5cf3c4522b501
CRs-Fixed: 2177109