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
On napier AX, HK2.0 ast search is tied to lmac_id.
This ast search feature is added to support DBDC repeater usecase.
Assign lmac id 3 to search by default on all macs until more
formal per pdev changes are made. This enables 2g.
Change-Id: Ia06d9243bddd3f4943426d6b0de3f452a252d819
CRs-fixed: 2198431
Existing code is allocating array of 500 bytes and providing it
to snprintf to store formatted array. This might lead to stack
overflow.
Add change to allocate memory from heap instead, in all such instance.
Change-Id: Ifaecebd60346d8a04c5facf3d1d446b420eb8c54
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
Fix possible REO descriptor leak while draining REO
command ring by invoking command status handlers with
special error code.
Change-Id: I2fe5f60489b57a4b0a287e67e5610112f7292677
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
Return value on dp_peer_add_ast where not correct
resulting in unnecessary flooding of print.
Correct the return values for the AST APIs
Change-Id: I03983995e96314cae91db95fe02edda4564baa46
CRs-Fixed: 2183715
If a RX packet takes below procedure, there is a double unmap:
replenish -> rx_frag -> reo_reinject -> rx_process
Fix it by mapping it again before reinjection.
CRs-Fixed: 2181134
Change-Id: I69ca74e4aad57c854f301e492fe55012ee7290a3
Add protection for vdev & peer while traversing during collecting
control frame stats.
Change-Id: I1e8e4e5f6f94b35644e03ddafc03b0d885d27972
CRs-Fixed: 2189230
TLVs in monitor packet buffers might be incomplete during
RXDMA flush, and should not be used to check PPDU IDs against
status ring PPDU IDs. This was causing stall in monitor
destination ring processing.
Change-Id: I99729beb65936477ea42cf5939da2036f36ee303
CRs-Fixed: 2193051
Byte counts reported in HTT Tx PPDU indications is sum of MPDU bytes
(including the 802.11 header).In Rx, we derive byte count from per-MSDU
Rx indications and this does not include 802.11 header bytes.
This is causing mismatch in reporting of Tx and Rx byte counts.
Also PPDU TLV for mcast MPDUs is not giving correct multicast bytes count.
Move the byte count update for Tx also to per-MSDU indications to match
the behavior with Rx
CRs-Fixed: 2182576
Change-Id: I92e779661014b058ba98c830881ff8eded4ea6ff
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
Rx PPDU length is calculated from number of MSDU length in each MPDU
Rx PPDU stats are populated after updating PPDU length.
Change-Id: I2af6a82eaddc4e791d4e7445c933a5886304e8f3
Currently including only cdp_txrx_ipa.h header gives compilation
issue as we need to include ol_txrx.h header to remove dependency.
In this remove dependency by including proper common header file
in cdp_txrx_ipa.h
Change-Id: Ia207e990f09d284a6dac97fbae8e1bc61fb6cbe1
CRs-Fixed: 2193987
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
On attach , allocation failed and in error handling
path it will call pdev_detach to free the resource,
resolved NULL pointer dereference which was causing
kernel panic.
Change-Id: I0fd5395fc2d4d2040049124094231dfa524a66b7
CRs-Fixed: 2192809
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
Firmware will use this configuration to enable/disable the
CCK transmission. By default, the CCK Tx is enabled.
CRs-Fixed: 2191524
Change-Id: I165c3ea10ea3734fc81e7d25fe8ad676afd1b2c1
Increase debug level of mesh prints as in current debug level lot of
prints are coming.
Change-Id: Ic584c1bb17415521b66e656274e7283279c8cc61
CRs-Fixed: 2188324
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
Currently while reaping the rxda destination ring in dp_rx_mon_mpdu_pop,
we end up un-mapping the nbuf twice when -
1. msdu_ppdu_id > ppdu_id
2. msdu_ppdu_id = ppdu_id
For case 1, we exit from the dp_rx_mon_mpdu_pop without reaping the
descriptor completely, but we unmap the nbuf corresponding to it.
Next, when case 2 happens, we end up un-mapping the nbuf again to reap
the same descriptor.
Introduce a flag in the rx_desc to keep track of un-mapping the nbuf. If
the nbuf is already unmapped, donot unmap it.
Change-Id: Icb64fbc00312d6d0e6d41f7b475eb1285530c3d0
CRs-Fixed: 2185301
In monitor mode, when we try to stitch msdus together into an ampdu
to be sent to the stack (dp_rx_mon_restitch_mpdu_from_msdus),
we aggregate them together via frag_list. In the current code,
for the first msdu in which the frag_list is populated (if there are
more than one msdus to be sent to stack), the next pointer (skb->next)
is not set to NULL. This causes the HDD code to process the next
pointer leading to issues double free issues.
Set the next pointer for the first msdu(with frag_list) to NULL.
Change-Id: I60d1d463c7bbb602e4b199fbb691340ad6247bc5
CRs-Fixed: 2173405
Add APIs to be used by extended DP modules to attach/detach
their respective handles with Core DP module.
Change-Id: I63cf0883f7462a11b49666bda697c7e872d7b925
The buffer was not being freed after invalid peer handler.
Error are handled and returned but buffer free was not taken care.
Change-Id: I100cdc27e6ca1af3dde7ce6561f5dfb83b87127f
On Flushing txdesc resource on pdev detach caused null ptr
issue, resolved it by adding dummy function to not free desc
resources for mcl, as it is freed in vdev detach.
Change-Id: I9ab777571623c926b4ecbf9c95ba0837101eba26
CRs-Fixed: 2179488
Add support to transmit the original multicast frame (Control
frames) instead of dropping it in Tx path, if no snoop entries are
found for multicast address.
Change-Id: Ic8caeaf4b092f9368c8c2d76632941eb8d7bb9c8
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
ppdu stats timestamp,duration,channel etc were not
updated and corrected the same
Also RSSI was incorrectly getting updated for
mcast frames also, fix both of the above issues
Change-Id: Id8446c6c0cfe8761f8c524fc7af0ff5bdd8b96aa
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