add the nbuf map result checking when replenish rx
nbuf to monitor status ring, this could avoid the
case nbuf map failed and invalid dma address
posted to HW or do unmap for unmapped nbuf.
Change-Id: I45cfc015f71a2d7295f7fcb4803bd6e68e2752d4
CRs-Fixed: 2182546
Register fw down legacy callback with QDF such that new UMAC
components can call QDF API to check if fw is down or not.
Change-Id: I8d68cb7625fd75aa90ba09adfe13955c5418b54f
CRs-Fixed: 2202605
Change object manager trace level to ERROR, move few
debug prints to obj_mgr_warn
Change-Id: Idc8943badb524c52694df18b035c9fc91c097e3a
CRs-Fixed: 2195292
Calling panic can cause a compiler to assume any subsequent code is
unreachable. Because these panics may or may not be enabled by the
build configuration, this can cause developers some pain. Consider:
bool bit;
if (ptr)
bit = ptr->returns_bool();
else
panic();
// do stuff with @bit
return bit;
In this case, @bit is potentially uninitialized when we return!
However, the compiler can correctly assume this case is impossible when
PANIC_ON_BUG is enabled. Because developers typically enable this
feature, the "maybe uninitialized" warning will not be emitted, and the
issue remains uncaught until someone tries to make a build without
PANIC_ON_BUG.
A simple workaround, is to put the definition of QDF_DEBUG_PANIC in
another compilation unit, which prevents the compiler from assuming
subsequent code is unreachable. For CONFIG_SLUB_DEBUG, do this to
catch issues earlier. Otherwise, use the typical inlined approach.
Change-Id: I8901fd33781ccb8229fad16343a5b08d97cdcf68
CRs-Fixed: 2202527
Add APIs to get TCP syn/syn-ack/ack packets,
TCP src/dst port, DNS domain name/query/response,
ICMPv4 req/res, and ICMPv4 src/tgt ip information.
Change-Id: I1e4e92997a33e64fe2e4ae28a05b54b6ba5e8cff
CRs-Fixed: 2168412
Change the signature of QDF FW down callback API to return bool
instead of void. Return type true indicates fw is down and return
type false indicates fw is not down.
Change-Id: I2be6f14e5fbdb7b24ccd604244e1314a8f127291
CRs-Fixed: 2196217
In order to migrate existing qdf_str_* APIs to qdf_str.h from
qdf_mem.h, qdf_mem.h included qdf_str.h. Now that consumers are
including qdf_str.h directly, remove this include.
Change-Id: I6b0ee3a4a2ad17db922b8e19087c1d730ad9b419
CRs-Fixed: 2196132
The qdf_str APIs have recently been moved from qdf_mem. Reference the
new qdf_str.h header file where appropriate.
Change-Id: If97c9c37a7d720a7b93e50ec228da67a8e980c2e
CRs-Fixed: 2196129
qcacld-2.0 to qcacmn propagation
Adds qdf time api to get time of the day in millisec
Also send host timestamp to firmware, so that firmware can print the
logs timestamp in sync with host via the wmi interface,with
api wmi_send_time_stamp_sync_cmd_tlv()
Change-Id: Id6acfc5227fdca2fbf8d266998fdfc4046adc5f4
CRs-Fixed: 2193978
A recent commit changed the return type for qdf_str_len() to size_t from
int32_t. Update call sites for qdf_str_len() to store the return value
as size_t to match.
Change-Id: Ib8bfad2c1fc7de1f6fc601d1be69e734d3a49dcf
CRs-Fixed: 2196858
A set of files for string abstractions has recently been added to QDF.
Move any existing qdf_str_* APIs from qdf_mem to qdf_str.
Change-Id: I6e1e5d1edcdfae2af83a6497ebd872fba981cdec
CRs-Fixed: 2196098
Currently, RSSI in radiotap header is being sourced from
RX_MSDU_START TLV. RSSI information is missing in the TLV.
Source RSSI from PHYRX_RSSI_LEGACY TLV (rssi_comb).
Change-Id: I8030d970ff300a957e5215157e5f6a3599e4b430
CRs-Fixed: 2190210
Rx PPDU length is calculated from number of MSDU length in each MPDU
Rx PPDU stats are populated after updating PPDU length.
Change-Id: I2af6a82eaddc4e791d4e7445c933a5886304e8f3
A call into qdf_str_lcopy() is passing qdf_str_len(src) as the
destination buffer size parameter. Instead, pass the actual size
of the destination buffer.
Change-Id: I62ff473d9d45cfa53c5fc3df27743690586381c0
CRs-Fixed: 2196114
In order to avoid global state, add a context parameter to
qdf_ini_parse. This parameter will get passed back to consumers via
the existing callbacks.
Change-Id: Icd74a58815701b4603924838bb84c7956058da6b
CRs-Fixed: 2194517
Implement QDF utility functions to operate on ARP data packet to
support ARP debug stats feature.
Change-Id: Idce70799bd3698dc8a8ecd8cfc8ef7d9bf1f5764
CRs-Fixed: 2019789
X86 driver is failed to load due to DMA malloc size
limitations.
Increase the maximum DMA malloc size for X86
driver.
Change-Id: I5d3a0138a61751e924183b7175a0b565cffd4eb4
CRs-Fixed: 2188749
qdf_bool_parse() fails to advance the parsing cursor after consuming
valid characters. Advance the cursor after valid input in
qdf_bool_parse() to avoid failing to parse valid boolean expressions.
Change-Id: I904d5eed638e215e9821e140feb5286fffe37b7b
CRs-Fixed: 2194546
strcmp() is regularly used to compare two strings for equality. However,
reading source code using strcmp in this manner can be prone to errors
because the return values are not obvious from the function's name. In
the best case, this leads to referring to the strcmp documentation more
often than one would like. In the worst case, this leads to difficult to
spot bugs. Add a thin wrapper for this use case to make intentions
abundantly clear to future readers. This wrapper is effectively sugar
for 'strcmp(left, right) == 0'.
For example:
if (!strcmp(left, right))
/* reads: if not string compare: left, right */
Becomes:
if (qdf_str_eq(left, right))
/* reads: if string equal: left, right */
Change-Id: Iabcb7c7e9f37dcb6cf1bdf5d7cc6c69ea926ba5c
CRs-Fixed: 2194508
QDF_MODULE_ID_CONFIG was previously defined for use by the configuration
component, but qdf_trace was not updated. Set the default logging level
for the configuration module in qdf_trace.
Change-Id: I8946b5473f03f3b85f8c2d6783039e03c9a49494
CRs-Fixed: 2194542
A very common pattern in the Wlan driver is to test for a fatal
condition, and then call QDF_BUG with some falsy value. Add a sugar
API for these cases, which effectively does 'QDF_BUG(false)'.
Additionally, include 'debug' in the name to remind consumers that
the panic will not occur on end user devices.
Current syntax:
if (fatal_condition)
QDF_BUG(false);
New syntax:
if (fatal_condition)
QDF_DEBUG_PANIC();
Change-Id: Ifa03e9109be5efdbd061ca32363d5719fb91da0f
CRs-Fixed: 2191582
Define QDF API such that legacy module can register fw down
callback and new components can use QDF API to check if fw
is down or not.
Change-Id: I2f5423943f351ee3a0fd84616c904a27702c10e3
CRs-Fixed: 2194451
Currently, the detected memory leaks would not dump
the caller of the function which is leaking the memory.
Add an extra parameter to the table to store the caller
address and print the function during an assert.
Change-Id: I6dc31b55fd4e78dc69df9eb6166ebb63086891c1
CRs-Fixed: 2177486
Perform the following cleanup items for qdf_*_parse() APIs:
1) Many qdf_*_parse APIs use a custom left-trim function called
qdf_skip_whitespace(). Recently, qdf_str_left_trim was added,
so use this function instead.
2) Remove 'const' from 'const char *' parameters. 'const' protects
modification of the pointer, which is already duplicated for the
function call. Since the qdf_*_parse() APIs modify the pointer
parameter anyway, using const is incorrect (and should have failed
compilation).
3) Ensure the public qdf_*_parse APIs are properly exported.
Change-Id: I89725c68cc0d61a66fe95ef02fa2deda110411ac
CRs-Fixed: 2185978
Use of qdf_nbuf_is_bcast_pkt function in qca-wifi is causing
unknown symbol __qdf_nbuf_is_bcast_pkt runtime error. This
does not let wifi driver to load.
CRs-Fixed: 2125569
Change-Id: If91685ae7d72c6fe52427648e9f01cba92fee86e
PANIC_ON_BUG controls whether QDF_BUG panics the system on a failed
assertion. This config flag should be disabled for all end user
production builds. However, when PANIC_ON_BUG is disabled, QDF_BUG will
still print the call stack that resulted in the failed assertion. This
call stack can leak sensitive kernel address information, and should not
be printed for end user production builds.
When PANIC_ON_BUG is disabled, avoid printing the current stack trace to
dmesg.
Change-Id: I8c83d3690c606f8ffa91cf931e45543ed6e6437a
CRs-Fixed: 2186096
Add an QDF abstraction for reading a file. Also, add the first consumer,
qdf_ini_parse(), as well. This is pure parsing logic, which offloads the
actual content handling to the caller via callback functions.
Change-Id: Idfca74c5543a5b0da7ddd1bdc6e2ad2be59ed36b
CRs-Fixed: 2184463
Add files for QDF string APIs. Existing qdf_str_* APIs will be moved as
part of a future change.
Change-Id: If98d41380b2f7f62bbe5de141b6827e9427944ab
CRs-Fixed: 2184462
Add debug support to detect memory leaks and corruption
in DMA memory operations.
Change-Id: I1478973828ddc147367c4a579c97c3840c106f44
CRs-Fixed: 2155603
with fragmented pkts re-injected back to REO destination
ring as frag_list, we need to linearize these nbufs while
handling intra-bss forwarding cases.
Change-Id: Id692974ac5d80f369fafae39aec32e2066dffb0b
Support 11d for non-offload platform by maintaining
count of beacons encountered for each country code
and choosing country code with max votes as device's
country code.
Change-Id: I83b66e980854eded17e254386561fa32b1f8c4ac
CRs-Fixed: 2154048
Introduces QDF API for wait_queue_timeout() to allow
driver to use. This API helps to wait for the event for
configured time
Change-Id: I9640368120fd09b19f64f028f1eb3aab46b7c97a
CRs-Fixed: 2177109
QDF_MAC_ADDRESS_STR has been replaced by QDF_MAC_ADDR_STR. Remove
QDF_MAC_ADDRESS_STR.
Change-Id: I810d56ef62009375422a69b66d75b4d03ddaee0f
CRs-Fixed: 2176528
For TSO packets we get Tx completion for each segment,
whereas nbuf tracking code has only one entry. So remove
nbuf tracking record entry when nbuf->users is 1.
Change-Id: I7f66eb91d802c909ee0c9a0243be6415c82c211e
CRs-Fixed: 2179883