When suspend is done, and if there are any outstanding
REO commands to HW, there could be a leak from allocated
buffers. FLush the buffer list during detach.
Change-Id: I62a7b612c401a36f5098163e017c3b42d7d3750d
Mutex needs to be unlocked in NAC filtering success path, before
sending packet to stack.
Change-Id: I7bf2e84ee5889b78a956a7c757bb22231c45022e
CRs-Fixed: 2017269
Free list created from ME buf pool expects next pointer to be first
element in the me buf. Change me buf structure to keep next pointer as
the first element. Also, Fix offsets in ME free list creation.
Change-Id: I2dffd0c04ba8514d0d1a5f5e6b14380902d1ec06
CRs-Fixed: 2077675
Adds support for flow control on convergence branch.
Allocate Tx descriptors dynamically when vdev comes up.
Tx queue is paused and unpaused internally in host based on the
stop and start thresholds.
Changes are added under compilation flag QCA_LL_TX_FLOW_CONTROL_V2.
Change-Id: I0ccb80b0099f39efad52ccd7d47f2709fdee2a93
CRs-Fixed: 2040457
In mesh mode, it is possible to receive unencrypted frames while security
is enabled. Deliver such frames to OS stack.
Change-Id: Id148b6ecc1432b419ae97c92f2340155f3d851bf
CRs-Fixed: 2004658
Add support for monitoring receive traffic from WDS nodes and
aging out inactive WDS nodes
Change-Id: Iedea826832a5421714c00bccadc6e0dc4acd4c7e
CRs-Fixed: 2004658
Initialize msdu_info before calling API to queue frames in HW. msdu_info
provides tid info which was going as random value to HW causing target
assert. Intialize it so that proper value is used.
Change-Id: I5028508f05b7b8ff2be123c21b3aed75adeb54d8
CRs-Fixed: 2076799
When monitor RXDMA is enabled, regular RXDMA will drop a good packet
whenever an error is indicated in monitor path due to a HW bug. To
avoid this, a dummy buffer will be used to receive packets passing
"monitor other" filter on regular DMA, which will be received on
RXDMA2HOST ring. These packets should be ignored based on a special
cookie value.
Change-Id: I348527f662cd664652d8d99c01484bb310c6e705
Rx MSDU count received in mpdu descriptor may be incorrect
sometimes due to HW issue. We should check msdu buffer address
in each Rx msdu buffer entry in RX msdu link descriptor.
Change-Id: I86af4797cfb79fad33977cf53d62a8d368dc3543
Add a misc list which stores HTT msgs & later frees them during rmmod.
This is required to prevent memory leaks during rmmod.
Change-Id: Iecc04ec38cfa1b459064da74dffa5bfeffdba956
CRs-Fixed: 2068058
Currently pktlog is available only for WIN. The pktlog APIs
return negative error code for MCL implementation since they
are not available, causing the regression.
CRs-Fixed: 2074614
Change-Id: I830181233fb6fe0d6299c42f2ccd27b6d894857f
hif_exec_context extends hif_ext_groups to support napi and tasklet models.
Some of the rename and enahancements have been done to support merging of
the execution context management code between the CE and DP contexts, as
well as supporting irq affinity for both napi & tasklet contexts.
Change-Id: I82c8abf2e906f027ec80faf7353a7685536bb79b
CRs-Fixed: 2051902
Add CDP API to get security type for ucast and mcast from
peer handler. Add additional peer handler argument for raw mode
rx decap functions. The peer handler is needed in the raw mode
functions for getting the security type of the frame and process
it accordingly.
Change-Id: I8b4728e9eb0ff29849805bb461c81e4fc3accc81
Split stats prints since they are truncated to 512 bytes due recent changes in
QDF_TRACE. Also flush REO queue descriptor cache after fetching stats to help
dumping from memory (for debugging).
Change-Id: Ie1d00766bd452d32cbc7085e95b66fb11bb9893c
FW has moved to using v2 HTT_FW2WBM message format for Tx completions
Add corresponding change on Host.
Add missing code to free Tx descriptors for few HTT completion types
Also change the descriptor pool lock to spinlock_bh since transmit path
and completions typically run in tasklet/softirq context
Change-Id: I024d44243f95907f19086225f0f02a5cd64f4508
CRs-Fixed: 2068155
Setup & process the RXDMA_DST ring to handle error frames
from RXDMA block. Pro-active fix to handle the WAR for
the WBM stuck issue seen when sending RX_FLUSH command.
Change-Id: Ibf56062da2cd9b5d447f1d43bbae5944426d88c8
CRs-Fixed: 2059870
Current monitor mode implementation does not catch
initialization failures causing it to believe successful
monitor mode initialization.
Change-Id: I5c30ac22e3084871b86cf5e2f0627988ebbb7b5d
CRs-Fixed: 2071602
Enable RXDMA status, desc, buffer and destination rings to
support monitor mode. The change also provides fix to properly
map pdev_id to mac_id.
CRs-Fixed: 2071602
Change-Id: Ie9caaaa0021d5842eaf28a5532b3ab5512fe507f
Currently all mgmt, ctrl and data frames are not enabled
while requesting for the pkt_tlv configuration for the
monitor mode. Adding changes to enable these while sending
HTT ring configuration message.
Change-Id: Ifa23edb55562512e18bb2ee4c426fa0b5e45a577
CRs-Fixed: 2071602
implicit conversion from enumeration type 'A_STATUS' to different enumeration type 'QDF_STATUS'
implicit conversion from enumeration type 'QDF_STATUS' to different enumeration type 'A_STATUS'
CRs-Fixed: 2063344
Change-Id: Id3613d0b7fca58c3d94c5af59838b0bff3ef26de
Add a in_use flag to identify if a rx desc is associated
with a valid nbuf and use this flag while freeing the nbuf.
Change-Id: Iace002ecadfd95ce60b7d1eaebc42194a433963b
CRs-fixed: 2044907
Set BM_ACTION, RELEASE_SOURCE and BUFFER_OR_DESC_TYPE fields in WBM release
ring descriptor in hal_rx_msdu_link_desc_set function.
Added HAL API to retrieve RXDMA push reason and error code from REO entrance
descriptor.
Change-Id: I64209d9ebb332136fae43a55b39e0f0d242315fb
CRs-Fixed: 2062922
Current data-path interrupt registration/handling assumes PDEV indices to be
in same order as HW MAC IDs, which is not always true. Fixed this by adding
wlan_cfg api to set and get pdev index to mac id mapping.
Change-Id: Iec8e9f4a02cd618a3b244cfd6fc7ead1e7d993c3
CRs-Fixed: 2063673
The pdev id in host is not the same as firmware MAC id
Add host pdevid to firmware MAC id mapping code
in set pdev id for htt sring setup and
set pdev id for htt rx ring selection cfg
The mon_ppdu_status is not synchronized
Fix the issue on pdev mon_ppdu_status by reset
mon_ppdu_status to DP_PPDU_STATUS_START after
monitor destination ring is processed
Add code for mpdu fcs error for later use
Change-Id: Ia6245cc9441e3339bcd01ed18fdce2f33f3f7699
Currently all Host collected DP statitics are synced to upper layers
on per-packet basis; This is causing significant CPU overhead.
Add a flag which can be controlled through iwpriv to enable/disable
updating of these statistics from DP to higher layers
Change-Id: I983c6d91803c83c1efd49c5535769a0c10fbc9b5
CRs-Fixed: 2064113
Currently interrupt mitigation values are configured for per-packet interrupts.
Change this for core DP rings (REO Destination and WBM Tx Completions) to reduce
CPU overhead of interrupt processing
Change-Id: I7bf0f6e78c52b5678ad3c8cc4d829444e410fad3
CRs-Fixed: 2064113
Avoid accessing and releasing tx descriptor when it is
not allocated in tx path.
Change-Id: I36515b679c541d081fd836ea3fb732768031cc06
CRs-Fixed: 2062160
The irq entry for rx_err, rx_wdm_release, and reo_status
gets assigned for more than one context and this causes
double free irq during driver unload time. Fix the same
Change-Id: I197ee285e6eba5909dec3fa37677c13efce4765a
CRs-fixed: 2063981
Currently max_peer value is hardcoded with DP wlan_cfg. This change adds
a generic interface to obtain a configuration parameter from OL_IF and
store in DP
Change-Id: Id437ab3bcd02fb1cbcbe8b56d55d19780af87066
CRs-Fixed: 2004658
Enable qdf_assert on rx error path to detect corruption issues.
Also add a magic word in rx_desc and compare on rx indications
to detect any corruption issues early in the path
Change-Id: I4df1220f19c891928f9687f40de6f2118b530db2
CRs-Fixed: 2004658