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
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
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
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
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
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
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
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
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
Add change to process packets received for invalid peer
when m_copy mode is enabled
Change-Id: I85aa41ff79e97eee9c696b63717206ac1329078e
CRs-Fixed: 2194058
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
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
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
Create a lock for protecting rx descriptor
pool allocation during initialization and destroy it
during unloading the driver.
Change-Id: Icd489e400dab9bb648709134dcaa24c4d7724aa6
CRs-Fixed: 2215430
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
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
peer rssi and rx rate stats counters aggregated
to vdev/pdev level so that athstats shows proper values
Change-Id: I4d4a28006c30b1f2eba77bbeaddb9723626166db
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
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
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
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
MCL operates on both macs with single pdev. So allocate HW link
descriptor pools for each macs.
Change-Id: I5a373bfbd1d15557e1fc66b8af17c2a130cdf5f9
CRs-Fixed: 2176848
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
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
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
Based on requirement from customer we have re-organised
AST specific and WDS specific code under different compile
time flags.
Change-Id: Icbb0dff7c2e7a2239d82c296468fa8d3e4f53021
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
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
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
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