1. Reduce the log level for every buffer received
from firmware
2. Set the default pktlog buffer size to 10MB.
Change-Id: Iad8827084579592fcfa69056dcfc9d57095151e7
CRs-Fixed: 2364380
Use QDF spin_lock APIs so that we can make use the debug infra.
This will help to identify catch issue related to unbalanced lock
operations or unexpectedely long locks.
Change-Id: I318bcb90340d98813f19862fda14e6ada30bbed6
CRs-Fixed: 2349308
Support Monitor Mode for QCA6390 as RXDMA1 block is
now removed.
1. Monitor buffers are now received on rxdma_err_dst_ring
2. RXDMA1 monitor status ring is moved to RXDMA0 monitor
status ring
3. Msdu link descriptors are now returned to WBM descriptor
release ring.
4. Reap the Monitor buffers and return it to SW Refill ring.
5. Use the same rx descriptor pool for regular and monitor data.
Change-Id: If41e5d13f942da2b97e5aab72b88ae344925ba67
CRs-Fixed: 2297300
In the scheduler_post_message, src_id is now added to
know the source module of the msg. the present scheduler
doesn't know about the same which is scheduler_post_msg
Replace the scheduler_post_msg with scheduler_post_message
Change-Id: I166f4c943b9a21749c53ed19101b0ed0defd8491
CRs-Fixed: 2306013
Clean up spectral, tif and umac component prints by correcting trace
levels for regularly occurring prints and removing newlines from
converged print APIs since qdf_trace_msg appends them by default.
Change-Id: Ib10f1b1c54ecbcb9f4076be7c2c4708359d488e0
CRs-Fixed: 2243843
If user tries to enable pktlog multiple times, pktlog enable
fails as the pktlog is already enabled.
while returning failure, current pktlog state is not updated
to PKTLOG_OPR_NOT_IN_PROGRESS in pktlog_enable api.
Now if user tries to get pktlog using cat command driver
returns resource busy from pktlog_enable as the current
pktlog state is not set to PKTLOG_OPR_NOT_IN_PROGRESS.
To address this issue, set the current pktlog state to
PKTLOG_OPR_NOT_IN_PROGRESS in case of failure.
Change-Id: I08e67c13e7a781340a97ad4c37308f3e61972c99
CRs-Fixed: 2278363
Currently 'pl_dev' is dereferenced without check for NULL in
get_pktlog_handle function in pktlog_internal.c.
To address this issue add NULL check before dereferencing.
Change-Id: I7017560d5eb36df3ca0a547cf62451f339f5940b
CRs-Fixed: 2280047
As CDS is not usable by WIN, add callbacks that are
registered in QDF and correct the module dependencies.
Also moves the platform related function to qdf_platform.[c|h]
Change-Id: I3080e9df86770235ff46237b8a2ffb9c2a3c9c2c
CRs-fixed: 2130260
If log state 1, 2, 0, 1 are set serially, log state 2 can't be set
successfully, while log state 1 is set to wdi twice, which results
in two same pointers in doubly linked list txrx_pdev->wdi_event_list
and causes dead loop.
Update pl_info->log_stat only when it is subscribed to wdi and sent
to firmware successfully.
Change-Id: I8d67b9f02a2fb2c958d2553a743cbabcedfb2f42
CRs-Fixed: 2250715
Address the following issues in the utils folder:
CHECK: 'interupt' may be misspelled - perhaps 'interrupt'?
CHECK: 'ommitted' may be misspelled - perhaps 'omitted'?
CHECK: 'TRESHOLD' may be misspelled - perhaps 'THRESHOLD'?
Change-Id: Ic9c2fdf2566f3bdd8c37906e52ed65d4dc1d1563
CRs-Fixed: 2241587
Currently 'pl_dev' is dereferenced without check for NULL in
get_pktlog_handle function in pktlog_internal.c
To address this issue add NULL check before dereferencing
Change-Id: Ic258db7bf1b404ff4f2d6c18abe775335074268b
CRs-Fixed: 2196058
There are instances of use of older A_UINT/A_INT.
Replace all such instances with the qdf u_int*_t/int*_t.
Change-Id: I7ce29b03f29a0d1a0cf87cfd3c846f4694da4c2a
CR's-Fixed: 2210869
Currently data in "pl_tgt_hdr" is used directly from firmware without
any length check which may cause buffer over-read.
To address this issue add length check before accessing data offset
Change-Id: Ic2930fdf7168b79a8522be282b0e1cd19214742a
CRs-Fixed: 2191170
Currently variable pl_msdu_info->num_msdu is from message, and
is used directly as array size. This may cause buffer overflow.
To address this issue add qdf_assert check.
Change-Id: Ice78633314b321243136ce4987c633e1201d3cb8
CRs-Fixed: 2187441
%p is considered a security hole. Fix an instance of such a hole
introduced recently.
Change-Id: Iaaa8d94de3077f987605058d417b472966ad9931
CRs-Fixed: 2180521
It will have race condition issue when multiple
threads access some fields of global shared
variable ctl concurrently.
Fix is to add mutex lock for proc handlers.
Change-Id: Ifba428ae6544ccbdae0547a63972ab241ae68d7c
CRs-Fixed: 2185522
Check for buffer overflow for pktlog messages in process_tx_info
function before doing mem copy.
Change-Id: I5d34bfdecb4fd9dad1741da2256873ef3e9e708c
CRs-Fixed: 2154974
Remove the code related to mmap functionality for pktlog
as it is no longer used/required.
Change-Id: Ib031148985055201810a7c32347c2e6efea57f35
CRs-Fixed: 2133878
Restrict the pktlog buffer size to a minimum of 1MB and maximum
of 16MB using pktlogconf tool or through sysctl command.
Change-Id: I1c67ed724c512f57c5d6e555be14b0b0e23d203f
CRs-Fixed: 2133723
Add sanity check for pktlog messages, as we have seen a single case
of inconsisten nbuf. Assert if fails.
Change-Id: I6a076c4dfaa2ff8e1972dd795cadeca1302b2c0e
CRs-Fixed: 2131952
Packet log ops are protected against load-unload and SSR, but not
against module stop. Take care to add check for module stop.
Also takecare to NULLing of wdi_event_list and NULL check before accessing.
Change-Id: I20d49ff587719fc14f60a53e86092383de6ef5b8
CRs-Fixed: 2131044
Linux kernel 4.10 removes the vm_area_struct parameter from the
vm_operations_struct->fault handler. Add conditional compilation to
provided the appropriate fault handler signature based on the version of
the Linux kernel being compiled against.
Change-Id: I467f4d8426ecfa55e4f2aac26a5326901239a752
CRs-Fixed: 2094824
Linux kernel 4.10 removed vm_fault->virtual_address in favor of simply
using vm_fault->address. Add conditional compilation to use the
appropriate vm_fault address field based on the version of the Linux
kernel being compiled against.
Change-Id: I3f29721888bf349a7ac4f5f62d576b668ee0abc2
CRs-Fixed: 2094806
During HOST AP offload case fw is sending pktlog tx info
with invalid MSDU id. This will result in invalid de-reference
tx descriptor.
Discard pktlog msg for invalid msdu id to handle
the above scenario.
Change-Id: I772ab47d46b373ab0c4a8f7f7266697d4bccd703
CRs-Fixed: 2077611
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
There can be a race condition if the pktlog_buf inside pktlog APIs,
is accessed simultanously from two threads.
To prevent this use mutex in the caller functions of pktlog APIs.
Change-Id: Iea6e3cd28a7a347c1753fe71d0646fb43ee184fa
CRs-Fixed: 2047150
ol_defines header inclusion is invalid in WMI layer.
Remove the header inclusion by abstracting the dependency
with in WMI layer.
Change-Id: I5eb8624605cde20b516a1d8d0c823996c363e119
CRs-Fixed: 2023821
There can be a race condition if two different threads use the
pkt log buffer at the same time. This issue can lead to Use-After-Free
of the packet log buffer.
To address this issue, protect the pktlog buffer access using spinlock.
Change-Id: I75d9375c9d85ac26dab1c06658d3f0fdbeb62935
CRs-Fixed: 2034486
When pktlog enable gives an error as part of pktlog_release,
then return the error value.
Change-Id: I88289226d3dc933a46d6dba0cd6ee0b6d2abb2d5
CRs-Fixed: 2031287
Add infrastructure in pktlog utils to collect pktlogs as part
of bug report generation. As part of this when pktlog read command
is received on host:
1. disable pktlog,
2. read pktlog,
3. clear pktlog buffer,and
4. Retain pktlog initial state
Change-Id: I67e2231c2897007b58fa42a4f931b3c35ad1f418
CRs-Fixed: 2031287
Implement iwpriv pktlog command to clear pktlog buffer.
This command is effective only if pktlog disable is issued previously.
This command needs one argument.
Command to use this feature : iwpriv wlan0 pktlog 4
Change-Id: I431169a10828b6cfcd21c7d8065f325c5eb8cbba
CRs-Fixed: 2031212
Move the logs to appropriate log levels to avoid excessive
logging in kmsg. Also log the error reason and line number.
Change-Id: I08ed38861ff0b3d50861b957de34b1c62bc45afb
CRs-Fixed: 2024378