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
If force SCC is enabled and there is a STA connection, trim the
ACS channel list on the band on which STA connection is present.
Change-Id: Ibd580a7afdcdfc5fb4398ada547565e229d59c70
CRs-Fixed: 2193720
In the current code, mgmt tx rx descriptors nubfs per pdev,
which are in use when driver is unloaded,
are tried to be freed in dispatcher_psoc_disable,
by iterating through the pdevs which ideally should not be available.
And in ideal conditions, there are no pdevs during psoc_disable,
there was no attempt to free the nbuf
of pdevs mgmt tx rx descriptors in use,
which could have resulted in leaks but no assert.
In some cases, by the time dispatcher_psoc_disable was called,
and pdev count was non zero, we were seeing some issue accessing
the pdev or pdev mgmt tx rx context and it was causing assert.
The mgmt tx rx descriptors nubfs
which are in use when the driver is unloaded,
should be freed in dispcatcher pdev close and
not in dispatcher psoc close.
Change-Id: Ia6ac0b2ceeb017221153dab92bf014481eca2a5b
CR's Fixed: 2187890
Invoke beacon update callback function before adding new entry
to scan list. It's required as get_scan_result API will end up
returning partially initialized scan entry.
Change-Id: Ia34f9c69b4eef2435b135912e06c39018a8987b8
CRs-Fixed: 2189783
Firmware will use this configuration to enable/disable the
CCK transmission. By default, the CCK Tx is enabled.
CRs-Fixed: 2191524
Change-Id: I165c3ea10ea3734fc81e7d25fe8ad676afd1b2c1
Increase debug level of mesh prints as in current debug level lot of
prints are coming.
Change-Id: Ic584c1bb17415521b66e656274e7283279c8cc61
CRs-Fixed: 2188324
FW recovery path needs this function as mgmt Tx
completions are not expected from the FW.
CRs-Fixed: 2178618
Change-Id: I7dddbff544dcce4dd9fe95ab79fb891bbd11b4ab
Change REO queue descriptor delete sequence to flush base and
extension descriptors separately, since flushing base descriptor
alone results in extensions flushed by HW much later,
sometimes after freeing descriptor memory, causing use-after-free
corruptions. Also increase REO command and status ring sizes
since number of commands per RX TID flush has increased with
this change.
Fix interrupt batch count setting for non pkt/buffer rings,
which includes REO status ring.
Also remove callbacks during reo command list destroy,
done as part of SOC detach. This should not be done since
callbacks will access stale data structures that are freed
as part of PDEV/SOC detach.
Change-Id: I4337454d3f53cc0b3c3014ef07cc2ba13cfebb18
CRs-Fixed: 2175989
Currently while reaping the rxda destination ring in dp_rx_mon_mpdu_pop,
we end up un-mapping the nbuf twice when -
1. msdu_ppdu_id > ppdu_id
2. msdu_ppdu_id = ppdu_id
For case 1, we exit from the dp_rx_mon_mpdu_pop without reaping the
descriptor completely, but we unmap the nbuf corresponding to it.
Next, when case 2 happens, we end up un-mapping the nbuf again to reap
the same descriptor.
Introduce a flag in the rx_desc to keep track of un-mapping the nbuf. If
the nbuf is already unmapped, donot unmap it.
Change-Id: Icb64fbc00312d6d0e6d41f7b475eb1285530c3d0
CRs-Fixed: 2185301
In monitor mode, when we try to stitch msdus together into an ampdu
to be sent to the stack (dp_rx_mon_restitch_mpdu_from_msdus),
we aggregate them together via frag_list. In the current code,
for the first msdu in which the frag_list is populated (if there are
more than one msdus to be sent to stack), the next pointer (skb->next)
is not set to NULL. This causes the HDD code to process the next
pointer leading to issues double free issues.
Set the next pointer for the first msdu(with frag_list) to NULL.
Change-Id: I60d1d463c7bbb602e4b199fbb691340ad6247bc5
CRs-Fixed: 2173405
Add APIs to be used by extended DP modules to attach/detach
their respective handles with Core DP module.
Change-Id: I63cf0883f7462a11b49666bda697c7e872d7b925
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
The buffer was not being freed after invalid peer handler.
Error are handled and returned but buffer free was not taken care.
Change-Id: I100cdc27e6ca1af3dde7ce6561f5dfb83b87127f
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
To make the code look neater, add a local variable to dereference the
frequency range.
Change-Id: I419aa913304c3b7e7d553a1419b92f9ee46ac754
CRs-Fixed: 2182461
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
On Flushing txdesc resource on pdev detach caused null ptr
issue, resolved it by adding dummy function to not free desc
resources for mcl, as it is freed in vdev detach.
Change-Id: I9ab777571623c926b4ecbf9c95ba0837101eba26
CRs-Fixed: 2179488
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
Currently there is no individual length check to each IE, which
could probably result in buffer overead. Minimum length should
be checked for each varibale IE for avoid the same. Also some fixed
IEs should have a length check of not greater than the size of
their respective structures to avoid corrupting other IE data.
Fix is to add a length check to each individual IE to avoid
corrupting other IEs and also to prevent reception of any IE
of invalid length IE.
Change-Id: I9a0914861d7ff2871ac72ad7357ebbb7ef10eeb3
CRs-Fixed: 2183014
Add NULL check for access to wdev.
There could be cases where the wdev could not we initialized
to appropriate values, so we should have a NULL check before
we access its members.
CR's Fixed: 2168374
Change-Id: Id0a3f9b64c5e9beed86f5a3c019a5fe5dbdb8bd7
1. Enable scan command time out for all commands if not disabled
explicitly.
2. Remove QDF_BUG() for no serialization command buffers
Change-Id: I5357211ef6bc44f8ebd4b8acaa56a12f691fa46d
CRs-Fixed: 2175843
Add support to transmit the original multicast frame (Control
frames) instead of dropping it in Tx path, if no snoop entries are
found for multicast address.
Change-Id: Ic8caeaf4b092f9368c8c2d76632941eb8d7bb9c8
Added CDP callback APIs so the DBDC repeater module
outside of cmn_dev can add, delete and update the AST
entries. Also with this change the sending of wds cmds
to fw is tied to adding AST, deleteing AST and updating
the AST entries.
Change-Id: I48d31962236860f50e16b771abaf3b8825b798df
ppdu stats timestamp,duration,channel etc were not
updated and corrected the same
Also RSSI was incorrectly getting updated for
mcast frames also, fix both of the above issues
Change-Id: Id8446c6c0cfe8761f8c524fc7af0ff5bdd8b96aa
Inactivity timer initialization is moved from dp
attach to soc attach as the timer is being
initialized multiple times in case of multiple
radios
Change-Id: I85d1d8710ccc7531c43ec82378c3ca0b65d26cf9
%p is considered a security hole. Fix an instance of such a hole
introduced recently.
Change-Id: Iaaa8d94de3077f987605058d417b472966ad9931
CRs-Fixed: 2180521
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
1. Assert if length received from FW is not equal to
the expected length
2. Count the number of PPDU stats received by host and
print in "iwpriv athX txrx_stats 260"
3. Optimize the PPDU stats tag mask sent to FW for
enhanced stats enabling
Change-Id: I60019de93bb3914955a03546504efc820c960746
CRs-Fixed: 2170704
Assert happened in rx path because rx reo rings setup
is done and after that default routing information is
updated, if any time elasped any buffer received in
exception ring falsely. Setting route information before
intialize.
Change-Id: I48c7292db0823d3eac639429f956dff1fcc41cae
Added extender service support for obss and obss color
Collision offload support.
Change-Id: Ifd249b3bbf4510297f15beb33df13d6c4f9d7d0e
CRs-Fixed: 2185238
Define new vendor sub command for configuring the device with
wifi test configuration. Add new test config attributes for this
sub command that are used to configure the device for testbed
configuration.
Change-Id: Ic866d54ba528525c94bcc7b4a5a8cf9c5c1408d0
CRs-Fixed: 2186214
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
When setting country code dynamically, world mode is
variable. Multiple world modes are supported depending
on the BDF configuration. Currently, it does not check
the world mode when setting country code and not take
appropriate action.
Change-Id: Ibd087825dbdba58d3d52d0c208edf183e3088731
CRs-Fixed: 2182129