| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
|
| |
Add qdf_net_buf_debug_delete_node definition
when MEMORY_DEBUG macro is undefined.
Change-Id: I9af90d44553f91a4c9e3021a8f4f4a36f622598e
CRs-Fixed: 2022420
|
| |
|
|
|
|
|
|
|
| |
MDM platform supports two wlan cards, so two drivers will be loaded
at same time. If export these routine, then loading the second driver
will encounter duplicate symbol error.
Change-Id: Ia2b900011e0a9f693fa28f2774a158e5f5b4291f
CRs-Fixed: 2018377
|
| |
|
|
|
|
|
|
|
|
| |
There is an unknown symbol error "__aeabi_uldivmod" due to
a division operation between uint64 value in wlan driver.
Add qdf API to use do_div to avoid "__aeabi_uldivmod" symbol
error.
Change-Id: I24e51990ff9e0ecea327ad9c71266fd768d62a6c
CRs-Fixed: 2013952
|
| |
|
|
|
|
|
| |
Add NULL check for dma address of buffer before calling unmap.
Change-Id: Id10a767d97fc1328b6d42e804f5a3e8639ff8fbf
CRs-Fixed: 2021902
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When a packet is generated internally, host adds a debug
node entry to the table and deletes the entry once received
tx completion for that packet by calling qdf_nbuf_free.
But when a packet is coming from network stack, host doesn’t
add any debug entry to the table and on receiving tx completion,
it calls qdf_nbuf_tx_free which will simply free the skb.
In case of P2P GO mode where packets are forwarded internally,
host creates a private copy of skb and add debug node entry in
the table. But when receiving a tx completion for the same packet
host calls qdf_nbuf_tx_free which will free the skb but will not
remove this node entry from the table. Currently, this api is common
for all data tx completion packets.
Add an extra flag in control block to differentiate whether skb is
generated by driver or come from network stack. If flag is true,
that means generated internally and need to remove the entry from
debug node table.
Change-Id: I61a76fdfedf0429e1b972824dc4513065d53033f
CRs-Fixed: 2020947
|
| |
|
|
|
|
|
|
| |
Implent QDF utility functions to operate on ARP data packet to
support ARP debug stats feature.
Change-Id: Idce70799bd3698dc8a8ecd8cfc8ef7d9bf1f5764
CRs-Fixed: 2019789
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
qcacld-2.0 to qcacld-3.0 propagation
There will be recursive call for vos_mem_malloc once there is memory
allocation failure, because vos_mem_malloc is called to allocate message
buffer for WIFI_EVENT_MEMORY_FAILURE.
Remove this event report in this change.
Change-Id: I897af2428af7e21c2962d5c91969930125178e74
CRs-Fixed: 2010103
|
| |
|
|
|
|
|
|
|
| |
A compilation error occurs if MEMORY_DEBUG is not enabled. Fix this
issue by moving the definition of qdf_mem_prealloc_put and
qdf_mem_prealloc_get outside of the MEMORY_DEBUG region.
Change-Id: I17b4ae2cd65658e961bf7aa37518635bb94b5a95
CRs-Fixed: 2017447
|
| |
|
|
|
|
|
|
|
| |
Memory preallocation is hidden behind two flags, CONFIG_CNSS and
CONFIG_WCNSS_MEM_PRE_ALLOC. Remove the check for CONFIG_CNSS, as the
presence of CONFIG_WCNSS_MEM_PRE_ALLOC is enough.
Change-Id: I233f6f31065c2d1da1ffb25a5013a17ac0b99246
CRs-Fixed: 2016844
|
| |
|
|
|
|
|
|
|
|
| |
__qdf_nbuf_get_tso_num_seg is defined under FEATURE_TSO but declared in header
file without FEATURE_TSO. Compilation can be successful when FEATURE_TSO is
disabled but there is unknown symbol error in driver loading.
Add fix to resolve this issue.
Change-Id: Ie01875405d65a0f43221cbfd42940747de0df916
CRs-Fixed: 2007179
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
In case of IPA hw version less than 3.0, only 32 bit DMA
address can be handled as it is only 32 bit compliant.
Because of this, setting DMA coherent mask of 37 when
IPA hw version is less than 3.0, crash is happening.
Do IPA version based DMA coherent mask setting such that
when IPA hw version is less than 3.0, set DMA coherent mask
as 32 only.
Change-Id: I8dec7da47766985ab0590f885b29f345f153cd08
CRs-Fixed: 1114605
|
| |
|
|
|
|
|
|
|
|
| |
Propagation from qcacld-2.0 to qcacmn.
Add support to dump information for ICMPV6 RS and RA packets in
wow wakeup stats.
Change-Id: I1a2852189664fff31e29b487d7a8c66ee83931c5
CRs-Fixed: 1115364
|
| |
|
|
|
|
|
|
|
|
| |
Propagation from qcacld-2.0 to qcacmn.
Add support to dump few bytes of rx packets in DPTRACE by adding
QDF_DP_TRACE_HDD_RX_PACKET_RECORD in DPTRACE enum.
Change-Id: I950108b9d1c9094ce3d285493ee36bda4f9d7e41
CRs-Fixed: 1074551
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Runtime PM lock init API right now returns pointer to a context
but this would cause confusion to the caller if feature is not
defined and dummy function return NULL as caller can't find real
failure versus dummy function returning because feature not being
enabled.
Fix declaring a data structure in QDF layer that caller can use
but it hides the internal details of HIF implementation for
Runtime PM locks.
CRs-fixed: 1116509
Change-Id: I4dcba604e803faa0e14fac6403610391895e382e
|
| |
|
|
|
|
|
|
|
|
|
| |
The size of adf_dp_trace_cb_table array is 30, possible over
read of adf_dp_trace_cb_table array in adf_dp_add_record API.
Add index condition check for adf_dp_trace_cb_table to avoid
array over read.
CRs-Fixed: 1041684
Change-Id: I4f0f9dda239efd404dff3f92b68a45aaf71875ae
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Change the static allocation of tso common info to dynamic
allocation to use this structure later on.
Introduce one more element in tso common info structure
use to store the dma address of EIT header which can be
repeatedly use to assign to the dma address of the 0th fragment
of all the tso segments corresponding to one jumbo skb.
CRs-Fixed: 1106688
Change-Id: I572c7dcd2d29cb19b398e13e0fe7ce6f88ee1641
|
| |
|
|
|
|
|
|
|
| |
qcacld-2.0 to qca-wifi-host-cmn propogation
Add support to get the boot time from kernel in nano seconds.
Change-Id: Iaa512248a5e56d77cff39da562e0c9ee4eaeeefd
CRs-Fixed: 1107219
|
| |
|
|
|
|
|
|
|
| |
Correct a dependency between MEMORY_DEBUG and WLAN_DEBUFS. QDF memory
stats is expected to be enabled only when MEMORY_DEBUG feature is
there.
Change-Id: Id14b5ccfa532660b24087f9456f99b1d41f5420c
CRs-Fixed: 1108556
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Create debug file system entries to show current QDF memory usage.
The 'list' option adds a little overhead, which is minimized by
locking node by node while traversing the entire allocated memory
list. Major operation is lock-less, using node reference count.
Following debugfs entries are added,
1. /sys/kernel/debug/<module_name>_qdf/mem/list
This lists QDF allocation by file and line number. It takes
some time to traverse the entire allocated list.
2. /sys/kernel/debug/<module_name>_qdf/mem/kmalloc
This file shows total kmalloc done by qdf_mem_alloc().
3. /sys/kernel/debug/<module_name>_qdf/mem/dma
This file shows total allocation done by qdf_mem_alloc_consistent()
Change-Id: Ie40a7cb6ee03dd58aebd0fbda0118ab06b64725a
CRs-Fixed: 1084097
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Create a root directory for debugfs at
/sys/kernel/debug/KBUILD_MODNAME_qdf/. The module name,
KBUILD_MODNAME, is used in the path to avoid conflict in case of
multiple instances of the same driver.
Any sub module in QDF can use this as the root directory to add
further files of directories. While unloading the driver the exit
routine does a recursive cleanup of any remaining files or
sub directories.
Even though debugfs is a Linux specific feature, a logic which is
related to file system for debugging can be added here.
This feature is protected with a compilation flag WLAN_DEBUGFS.
Change-Id: I21cae38b69f45c22121dfe70fe84f02423a26020
CRs-Fixed: 1083771
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
Add a wrapper to check if a spinlock is currently
locked without acquiring it.
Change-Id: I867cfd00a61b1632e9652cdffc896b2654e3c338
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
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This change refactors IPA private data stored in skb control block,
which size is reduced to 32 bits.
Owner id is changed to 1 bit, to flag if the owner is IPA.
Callback function pointer is removed by adding the callback into cdf.
Skb control block priv data is reduced to 16 bits by storing the index
to the Tx descriptor list added in HDD.
Change-Id: I0eec0636794da3b4729b8be825afe6a1275915a4
CRs-Fixed: 982728
|
| |
|
|
|
|
|
|
|
|
| |
Fix below in DPTRACE feature::
1) Change timestamp in DPTRACE records to hr:mm:sec.usec format.
2) Change default configuration in qdf_dp_trace_clear_buffer()
to match that of qdf_dp_trace_init().
Change-Id: Ibad674e3b94a2c7ac5cbefa5fc18efb48f6ca694
CRs-Fixed: 1098928
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
qcacld-2.0 to qcacmn propagation
In certain situation, allocated Tx buffer count could be an arbitrary
number, so not power of two. This could violate F/W ring buffer count
requirement. If allocated Tx buffer count is not power of two, round
down it to the nearest power of two.
The same change is also applicable for INI parameters IpaUcTxBufCount
and IpaUcRxIndRingCount.
Change-Id: I7c119886a669c79adbc7bd9b2c1c1d93de41cf72
CRs-Fixed: 973723
|
| |
|
|
|
|
|
|
|
| |
qcacld-2.0 to qcacmn propagation
Store tx desc id in skb_buff.
Change-Id: I2186a06ad3ec929683292c4c052904a18427cc64
CRs-Fixed: 951208
|
| |
|
|
|
|
|
|
|
| |
DPT prints were flooding kmesg and causing watchdog bark
in stress testing cases. Reduce log level to info and
only include the prints in the driver log.
Change-Id: If6ba6786cfe9ff050a21673002ef273a670c3f68
CRS-Fixed: 1089051
|
| |
|
|
|
|
|
|
| |
Since dump_hex_trace is defined as a static function,
it should not be exported. The 2 scopes conflict.
Change-Id: Ia39a4fdcffeffa452b684f77d015eabd421e89e8
CRs-Fixed: 1089727
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Mark the timeout messages in qdf_dp_display_record with
the 'DPT:' prefix and print them with the same error
level as other DPT messages.
Note that there are allready error level logs in HDD to
indicate that a timeout occured. The value add here is that
this timeout is noted in the contect of DPTRACE where prior
successfull packets will also have been logged.
Change-Id: I87b041895462474d37d092d48aa4c7e957ff45c5
CRs-Fixed: 1089725
|
| |
|
|
|
|
|
|
| |
Make changes for per per Rx context LRO manager, this addresses
all parallel Rx concurrency issues. There by removes all the contention.
Change-Id: I90604ffdf7b7fd930eee636426a4c7fc9b92c7d7
CRs-Fixed: 1079320
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
qcacld-2.0 to qcacld-3.0 propagation
MTRACE logs timestamp format is different from logcat logs,
and it's difficult to correlate with other logs.
This fix changes the timeformat of MTRACE logs
from qtimer ticks to hr:min:sec:msec
Change-Id: I45e5d28fbeccd757648f05ce4e593d8ca4fe7804
CRS-Fixed: 1049125
|
| |
|
|
|
|
|
|
|
|
| |
Currently on a HDD Tx timeout, we are recording the event in DP Trace
framework. Currently the framework is unable to handle calls where skb
is NULL.
Add code to handle cases in qdf_dp_trace where the skb could be NULL.
Change-Id: I4d04cd59f11f19c4ba81219925c7f3011c97de29
CRs-Fixed: 1083941
|
| |
|
|
|
|
|
|
| |
Enable logging of DPTRACE logs at each layer of driver and at tx
completion for all tx as well as rx protocol packets.
Change-Id: Id568c19196702034989a0f55490bc62667b3b20e
CRs-Fixed: 1083002
|
| |
|
|
|
|
|
|
| |
Add infrastructure to log all roam related commands and
events in DPTRACE.
Change-Id: I66773fc23dfeacf3a63688819e099bf44676d95b
CRs-Fixed: 1081851
|
| |
|
|
|
|
|
|
|
| |
We want to enable the compiler's -Wmissing-prototypes switch, but
there is existing code that is generating warnings. Fix all warnings
in qdf.
Change-Id: Ib499e7d0a5bfb6d2e5a7eaa7fbe769bb2b49772a
CRs-Fixed: 1076314
|
| |
|
|
|
|
|
|
|
|
| |
Propagation from qcacld-2.0 to qcacmn.
Print proto type for ICMP and ICMPv6 packets which
cause wow wakeup in HOST driver.
Change-Id: I6d8cf8ad65652205bfad1a3531daf48a42a79350
CRs-Fixed: 1080772
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a qcacld-2.0 to qcacld-3.0 propagation.
pr_debug() should not appear by default in kernel log (kmsg).
DEBUG is a kernel macro, since host driver is using the same name macro,
pr_debug log statements are appearing in kmsg.
Fix this by moving the code under DEBUG to WLAN_DEBUG and
remove DEBUG macro from Kbuild.
Change-Id: I5bb385f91f9b6ba15629a5878625fefc21d4a7e1
CRs-Fixed: 1003261
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
These logs were being printed in the kmesg durring every unload.
Questions about these logs wasted time and indicated the logs were
too prominent and confusing.
Only log nbuf tracking free list stats to the kernel log when
unexpected conditions occured. Also distinguish between pre-filled
tracking nodes and nodes that were used to track nbufs.
Change-Id: I835ef2a04500dbab3229e6765fe7a168c05837fa
CRs-Fixed: 1072098
|
| |
|
|
|
|
|
|
| |
Function tables based on enums should have entries for all available enum
values.
Change-Id: I452006d177c7651c43938de47fdff5fe78d2e582
CRs-Fixed: 1072077
|
| |
|
|
|
|
|
|
|
|
|
|
| |
qcacld-2.0 to qcacmn propagation
Dump state information of HDD, SME, PE and WMA layers
into a buffer. Contents of this buffer will be copied
into user space using proc entry /proc/debugdriver/
driverdump.
Change-Id: Ifbb102e440d7df20defa1a397964cb9b55082bf9
CRs-Fixed: 955357
|
| |
|
|
|
|
|
|
| |
Fix compilation issues faced on the WIN big endian
platform due to QDF convergence related changes.
Change-Id: I33b2a4bbe063acb4585b86e12fa79f96dc12ac73
CRs-Fixed: 1039318
|
| |
|
|
|
|
|
|
|
|
|
| |
Comment in the api specifies that qdf_mem_cmp api
return bool value which is not correct.
Replace bool to int to reflect the correct return
type of a qdf_mem_cmp api.
Change-Id: Iff83fbf588a072dcda8b0aaef3c6743e572b1ac5
CRs-Fixed: 1066946
|
| |
|
|
|
|
|
|
|
|
|
| |
qcacld-2.0 to qcacmn propagation
Currently there are no diag events to debug auth, assoc timeouts
and memory failure. Add such diag events which can be useful during
failures.
Change-Id: Iec4c2a9946fbef388959fdc796273944d3be8003
CRs-Fixed: 954888
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In current codeflow, we are maintaining the length of the TSO segments
belonging to one jumbo packet inside tso_info, which is common for
all the segments of one jumbo packet. This works if the length of
the segments (frag[1]) is the same. In case it is not, it ends up
assigning incorrect length to all the segments. This is resulting
GMS login failure.
Fix issue by maintaining the total length of the segment in the
qdf_tso_seg_t structure.
Re-factor code for easy readability
Add TSO_DEBUG prints which can be enabled (compile time) to debug
TSO issues
Change-Id: Ifb5a0f1493224c66c3acc394e47a74b2dd84bbc9
CRs-Fixed: 1062556
|
| |
|
|
|
|
|
|
| |
Decrement qdf_mem_list.count when removing elements to avoid
assert when destroying the list.
Change-Id: I0d0989f3a9009184b898b8b27517e6d12fa3dc97
CRs-Fixed: 1063093
|
| |
|
|
|
|
|
|
|
| |
Currently ani_global.h is included in qca-cmn,
This change removes ani_global.h and there are
corresponding changes in Driver
Change-Id: I4c1cf70e8eb1f4391a25783a560c02a43c483054
CRs-Fixed: 1012452
|