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
Enable raw mode cce classification only for packets for
which WEP bit is not set
Change-Id: I5249f197d5a3e00c73c6866011ba5f3a36868c0f
CRs-Fixed: 2132317
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
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
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
Based on requirement from customer we have re-organised
AST specific and WDS specific code under different compile
time flags.
Change-Id: Icbb0dff7c2e7a2239d82c296468fa8d3e4f53021
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
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
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
Increase debug level of mesh prints as in current debug level lot of
prints are coming.
Change-Id: Ic584c1bb17415521b66e656274e7283279c8cc61
CRs-Fixed: 2188324
Add APIs to be used by extended DP modules to attach/detach
their respective handles with Core DP module.
Change-Id: I63cf0883f7462a11b49666bda697c7e872d7b925
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
On Firmware auto recovery , txdesc resources
might not be freed if f/w has not sent the
completion. Freeing those buffers in pdev
detach
Change-Id: I7d62258347f1fc9566fc8230564bcaf458ea4cc4
Set update_peer_cache, learning_frame bits in meta header for all
the frames that are sent to firmware.
Change-Id: Id8dac0007cc87f792859e5108ddfa77746166b49
CRs-fixed: 2180223
The map\unmap checking logic need to be revised. Before that, it
is needed this hotfix to unblock other test.
CRs-Fixed: 2175684
Change-Id: Ife8147526307924079be9081eaf17323f67b87c0
dp_tx_send_exception is an exception path that transmits frames
through FW by setting DP_TX_DESC_FLAG_TO_FW
Change-Id: Id6abfcd2bf060c4fe3aaca91634f3be501530a7e
CRs-Fixed: 2176814
* 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
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
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
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
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
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
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
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
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
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
Host CCE Classification changes for RAW Mode workaround
RAW Mode EAPOL frame classification for raw mode
Change-Id: I533c2e8bb55e3cd5088c6bff046e67066c784053
CRs-fixed: 2132295
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
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