This is needed for a requirement to change A-MPDU configuration
from per radio to per vap.
Change-Id: I916985d49bc5b059b7887b945acde798be0b38e3
CRs-fixed: 1107866
- Ensure the head and tail pointers are reset after
processing the packets on each vdev
- Ensure the network buffer is null terminated when
processing the null queue
Change-Id: I7bfab46b7fc6054e782f7f1fc09dd56a58e46a4d
CRs-Fixed: 2001835
Add Tx completion status value to the logging
of Tx completions. In addition dump Rx meta-data
and first few bytes of Rx packet only on NAPIER
EMULATION platform. This is only to facilitate
faster debug from the logs, and will be disabled,
once we have more stability.
Change-Id: I69d9e2fd6ad32efe01b8e56f355db5ed6d4d2e70
CRs-Fixed: 1116939
Add NULL termination to the list of rx frames
before passing them to the high level OS.
Change-Id: Ibc51f14b8b9ef2a8dff7147f4072910e11540093
CRs-Fixed: 1116939
Update dp_peer structure to store qdf timers to detect DOS attack. Following
driver ops are registerd to access the dp peer information
- last_assoc_received
- last_disassoc_received
- last_deaauth_received
- clear_peer
Change-Id: I21a3f4e5ab626e62f58f307d02640b7d96c9b1ef
CRs-Fixed: 1116647
Update peer delete sequence in dp_peer_delete_wifi3(). Currently
local peer id is freed and peer_info_spinlock is destroyed after peer
is deleted. This is resulting in OOPS error. Call dp_unref_peer_delete
only after cleaning other peer information.
Change-Id: I58cd7114d07c7d7addc941e8509661f050c23a9c
CRs-Fixed: 1116647
Disable freeing TID's hw queue descriptor in dp_rx_tid_delete_cb() as a
workaround to avoid OOPS error.
Change-Id: I6ab5f8590ec3ac434cf024b1eb735bff273fd330
CRs-Fixed: 1116647
Fixes for issues seen while sending multiple REO commands:
- Fix bug in error return from hal_reo API.
- REO status for updates done as part of peer deletion are sometimes
received after peer is deleted, causing crash due to invalid access
in REO command status handler. Fixed by using temporary copies for
rx_tid structures.
- Zero out REO command descriptors before setting up new commands.
Change-Id: I63409eb74fd91a21e0264fb2b3a62efb3a91bfe6
When QDF_LOCK_STATS is enabled, dp_tx_send_msdu_multiple needs to
not be inlined to avoid an [-Werror=maybe-uninitialized] compilation error.
": error: 'msdu_info' may be used uninitialized in this function"
Change-Id: I46edc3e3f5fdc498cb31c4eab38c89f91def10ba
CRs-Fixed: 2000132
Ce recv buffers that were given to hardware and never returned
need to be freed.
Change-Id: I427ef993110e24dcbbc1891fe3eb456f688526ae
CRs-Fixed: 2000136
Allow kbuild to enable/disable these features, but provide
defaults if the kbuild is unaware of these features.
Change-Id: Icd8054b5607749fd385f6664b8e06b31894c56c7
CRs-Fixed: 1111956
Record the last function to acquire a lock. Improve
detectability for failure to release spinlocks.
Change-Id: I4c13dfbb2dad322c119914a325ff9edeee60fbf4
CRs-Fixed: 1111956
Keep all spinlocks on a list for offline debugging.
Also support detection of duplicate destroy calls.
Also support detection of not calling spinlock_destroy.
Change-Id: I75f520bb87c06111eabf0f610d4751e98a932c99
CRs-Fixed: 1111956
Remove false positives for locks acquired with trylock.
Trylock was not recording the timestamp when the lock was
acquired. Therefore an old timestamp was used when releasing
the lock and the infrastructure would report that the lock
was held for longer than it was.
With the infrastructure set to generate a crash when a lock
is held too long, these false positives make the system unstable.
Change-Id: I87989b21daf4a2dfb74c8cfbba09be2af53dd1b2
CRs-Fixed: 1111956
Adding lock stats print upon spinlock & mutex destroy.
The spinlock destroy of the lro unloading lock in the
napi context did not match the create in location.
When a station adapter goes down and is brought back up,
the mismatch appears.
Change-Id: I137e6ffce3fb23f32a085b9fa36b065449a6d8a1
CRs-Fixed: 1111956
The Common subsystem shutdown is allowed after the irq_enable
register is written. A race condition in host (multiple other
interrupts firing on the same core). Can delay the register read
and allow the common sub system to be shutdown before the read.
The read would then cause an SNOC error as the register is unclocked.
Change-Id: Icb90c185eabcbd63b28b02bdf5c1de2d06d3620e
CRs-Fixed: 1108494
Adding lock stats print upon spinlock & mutex destroy.
Without the destroy api invoked the lock stats are not printed.
Change-Id: I670bef0aeca03b61ad6d2f1ffec404b6c33f9002
CRs-Fixed: 1100505
Adding lock stats print upon spinlock & mutex destroy.
Without the destroy api invoked the lock stats are not printed.
Change-Id: I50b4db8412e336fcc22514be3ae4aaa2188415a8
CRs-Fixed: 1100505
Adding lock stats print upon spinlock & mutex destroy.
Without the destroy api invoked the lock stats are not printed.
Change-Id: Id3c432e1f6982ea47bdf1de5c15f1a3568df4eb9
CRs-Fixed: 1100505
LOCK_STATS does profiling and catching of instances where
locks are held too long. Separate out these two concerns
with separate macro flags.
Change-Id: Idb530baa23c5fcde84689bf910988da22e36123d
CRs-Fixed: 1100505
Wish to profile spinlock & mutex usage.
Bug on when spinlock is being used to protect
large regions of time.
(1mS for irq disabled, 5mS for bh disabled,
5ms for regular spinlock).
Change-Id: I95190a0d3d407a91a869f9f015e61d75e80830a7
CRs-Fixed: 1100505
qdf_trace prototype needs to be defined as well.
note: i_qdf_trace.h is still needed for qdf_print
to be used, but we have removed dependencies of
i_qdf_trace.h on other include files (so this is fine).
Change-Id: I01052d00c1619e4847de702a687554badd47882f
CRs-Fixed: 1100505
Allow qdf to print messages without including qdf_trace headers.
qdf_trace.h contents are not available in several qdf headers because
qdf_trace.h includes those headers. By moving the log level enum
to the types.h file, qdf_print will be universally available.
Change-Id: Ia8f53ed86bdd68b79341b4526a404e5d62c91170
CRs-Fixed: 1100505
The api qdf_get_log_timestamp is the fastest way to get a
high resolution timestamp in the system, however its
scaling is not consistent. This adds some conversion
apis for logging time differences in human readible quantities.
This also adds the reverse conversion.
Change-Id: I6c22132514c2cebb67c850260214a7f734bf8670
CRs-Fixed: 1100505
Make sure that NAPI event handler would handle events only
after it has been initialized. Check init flag before procesing
the event and emit a warning and return an error to the caller.
Change-Id: I9d2b84560ee2363ecf2a570dbef0275dfb87786a
CRs-Fixed: 1091678
Update QDF debug framework with API to store and to get the print index.
As a part of QDF framework convergence, we need to update the QDF framework.
Add API to handle the print index in the converged QDF framework.
Change-Id: I871c09189202d021405777db732e8821e7aaca7c
CRs-Fixed: 1108907
The pld_common.h stub doesn't include all the header files it needs
for compilation. Let it get included from hal_internal.h through
hal_api.h. In this manner, all the required .h files will allready
be included.
Change-Id: I40d107d2305baabe57719afe854bad4428d74a23
CRs-Fixed: 1113131
hif_prepare_hal_shadow_register_cfg and hif_print_hal_shadow_register_cfg
needed to be declared static after enabling "Werror=missing-prototypes"
Change-Id: I3682436edb7bcb3ee02f1c4037aefc82863c0ec5
CRs-Fixed: 1113131