Propagate from qcacld-2.0 to qcacld-3.0
Currently in epping_cookie_init() when the cookie array is allocated
the wrong pointer is checked for a NULL allocation. Update the
function to check the correct pointer.
Change-Id: I56384197a8729996d7aa87d3c51903525b3be93c
CRs-Fixed: 979671
Remove the processing of following msg types PKTLOG_TYPE_TX_MSDU_ID,
PKTLOG_TYPE_TX_FRM_HDR and PKTLOG_TYPE_TX_VIR_ADDR for ihelium as
support for these events is removed from FW.
Change-Id: Ic526507d8adf87e580bd5c23ad2e68e2154c38a8
CRs-Fixed: 1074043
Host should not honor any vendor pktlog disable command
if NO vendor pktlog enable command is sent previously.
Currently, vendor sends pktlog disable command without sending enable
command during init and because pktlog is enabled in ini by default,
Host sends the pktlog disable command to firmware which is not as expected.
To fix this, host uses reserved flag in wifi_start_log to distinguish
vendor command from iwpriv or pktlog conf tool command and vendor disable
pktlog command will be sent to firmware only when vendor pktlog enable
commands is sent previously.
Moreover, pktlog INI enable by default and Pktlog buffer size are now
controlled using a macro FEATURE_PKTLOG depending on build variant.
For production/user build, pktlog is default disable and buffer size is
1 MB, whereas for dev build, pktlog is default enable and buffer size is
10 MB.
Change-Id: If64cd522e91cbe9a6d94d8626eb758282fcfd1bd
CRs-Fixed: 1072584
This reverts commit Id0b7dd6b4573147eef9b80b57bc78284e52807ec.
This change is not required anymore as now vendor related pktlog
enable/disable command will be handled via flag in wifi start log
structure.
Change-Id: I82f32d3d8021361e92d67a53624a1d5d027fd9b8
CRs-Fixed: 1072584
propagation from qcacld-2.0 to qcacld-3.0.
On Dual-WiFi Platforms, Radio Device 1 (R1 - SDIO interface) should
be functional only if Radio Device 0 (R0 - PCIe interface) is active.
If SSR is indentified on R0, indicate userspace application to unload
R1 on this event and Reload R1 once R0 SSR and reload is complete.
CRs-Fixed: 1046397
Change-Id: I8a06b569fe536bb93dbb37bdb289295bfce62f6e
qcacld-2.0 to qcacld-3.0 propagation
"log buffers are dropped" are consistently printed which
is affecting the tput KPI's. Masking the same with debug level
which is not enabled by default.
Change-Id: I6e9abc7d65f276d71810aedad9062152035699c0
CRs-Fixed: 956599
Propagation from qcacld-2.0 to qcacld-3.0
Add diag event for WOW reason code.
The event EVENT_WLAN_POWERSAVE_WOW will be used to
inform the WOW reason code.
Change-Id: I9273c9e737b97207ce0acee131ab6f3c19cd3e0d
CRs-Fixed: 1037383
qcacld-2.0 to qcacld-3.0 propagation
Currently, sizeof(tAniHdr) is not added to payload length in
messages in wlan_send_sock_msg_to_app, ptt_sock_send_msg_to_app.
These missing lengths can cause user space
to drop these messages. Fix this by adding appropriate lengths.
Change-Id: I2609029445110e661440a7fc55f36801e4f72afc
CRs-Fixed: 985614
Interrupt handlers do not have valid process context and hence
current pointer is not valid for software/hardware interrupt
handlers. In WLAN log to user space API current process name is
logged using current->comm but hardware/software interrupts do not
have corresponding current pointer because they use current pointer
of interrupted process. Make changes to not to log process name when
log message is generated from hardware/software interrupt handlers.
Change-Id: I42420c501f9e7161112c5210909f83755ba4813e
CRs-Fixed: 1065898
qcacld-2.0 to qcacld-3.0 propagation
Add radio index at the end of wlan svc msg in TLV format inorder
to maintain the backward compatibility with user space application
like wlan_services and cnss_daemon.
Change-Id: If578d66eada17784eef7daafa7351df95fc74f5a
CRs-Fixed: 1019664
(cherry picked from commit 6a1d4b9d33b10ed50990efc825e530e020661153)
(cherry picked from commit 53627e3d41d55a9d71889443daa2ab769227c170)
When pktlog is enabled in INI (i.e. no iwpriv commands are issued),
store the events forwarded from firmware into the pktlog buffer.
Host will not honor any pktlog disable command if pktlog enable command
was not sent previously with WMI_PKTLOG_ENABLE_FORCE.
Change-Id: Id0b7dd6b4573147eef9b80b57bc78284e52807ec
CRs-Fixed: 1062295
(cherry picked from commit 07e5fbfcf0ec1ca7e92721a523e401e70887f487)
Fix below issues:
1) check cds_get_context results before use
2) remove function calls from ASSERTs
3) make sure variables are initialized before use
4) check pointers for NULL before dereferencing
Change-Id: Iac92e6f2d1030a7dd12469e34341135bea7c781f
CRs-Fixed: 1047286
(cherry picked from commit a2547fd35fc517abfbc96363768b5d036d59d057)
qcacld-2.0 to qcacld-3.0 propagation
Observed kernel panic due to the race between initialization of
logging wait_queue in supplicant thread context and the same
uninitialized wait_queue is referenced in MCThread context.
To mitigate this issue, don't send logs to upper layers if logging
service is not initialized.
Change-Id: I96e3efb3947279be64b83a27a7e2458d04021c4e
CRs-Fixed: 963275
(cherry picked from commit fe200c52491b12087752a46bc602288adaf26557)
qcacld-2.0 to qcacld-3.0 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
(cherry picked from commit 96f330d11abe16a35c13a87346e8e60cbd0c7141)
qcacld-2.0 to qcacld-3.0 propagation.
As there are a lot of prints dropped on the console in
short duration, it leads to interrupt disablement on
the cpu.
So reducing the logging level of log statement from
ERROR to INFO
Change-Id: I3eefac49378a7bfbcc235b1dd3362e1213fa1f42
CRs-Fixed: 886644
(cherry picked from commit 06c7d1b4aa89fb5c25241cec0558d559ee93b683)
qcacld-2.0 to qcacld-3.0 propagation
Reduce unwanted netlink log messages and modify the error value
print format from hex to decimal.
Change-Id: Ia94efe17b80d5f3c4a7006b914f4f0586360fded
CRs-Fixed: 804176
(cherry picked from commit f986a945d7124c5bcc962dc0b7f0642828b7687f)
Add type_specific_data for PKTLOG_TYPE_SW_EVENT in the pktlog header
to parse it so that pktlog script can do further processing based on the
value passed in that field.
Change-Id: Ia68d9e3ea02942c050c133f4547a353634d65e1c
CRs-Fixed: 1062295
(cherry picked from commit 1ab48b89e671ee62b384c2cbd7fede68cf963da6)
Currently, the apps processor can power collapse in the middle of
DHCP negatiation. A wake lock was added to prevent sleeping until
negotiation is complete.
Change-Id: I9f133667ddb8fe27f43e6d7491006b881ad56d44
CRs-Fixed: 1061879
qcacld-2.0 to qcacld-3.0 propagation
wlan_queue_logmsg_for_app is called while holding spin lock with
interrupts disabled. It may call pr_info to log if node is dropped
while sending to user space.
This may cause interrupts disabled for some time.
As part of fix remove all pr_info from wlan_queue_logmsg_for_app.
Change-Id: Iffa5d463ae4e807bb30ff6eec5f3949735663fd5
CRs-Fixed: 1005714
Changes to configure different rx data path rx_thread,
RPS or NAPI through ini parameters. Also added support
for RPS mask setting using cnss-daemon.
CRs-fixed: 1026370
Change-Id: I23ab8fe0f05245b38cf4b37e93da8fd99d4c1f68
In current code base, some of files are not meeting linux coding
standard.
Fix them to satisfy coding standard.
Change-Id: Iedb1ec9ad7c75cb9f7ef97b19f14dca3b5eb9b6c
CRs-Fixed: 1051212
Propagation from qcacld-2.0 to qcacld-3.0.
Avoid NULL pointer dereference when ASSERT is disabled by adding
extra handling in epping_tx_complete_multiple.
Change-Id: I06696bb2588620244fafde431c4cd56bcb8a4301
CRs-fixed: 1038668
FW common files needs to be in sync with host and fw.
Add changes to compile successfully with latest version
of FW interface file.
Change-Id: I487a18185c406da5c2fb07e2a95cafe4793578aa
CRs-Fixed: 1012542
epping_disable needed to check that contexts were
not null before trying to perform the disable opperations.
Change-Id: Ia8182b1deed1a6a1d2643f91660880fb52450e3d
CRs-Fixed: 1027691
qcacld-2.0 to qcacld-3.0 propagation
Currently for diag event EVENT_WLAN_STATUS, diag
structure only allocates 6 bytes for ssid, though
ssid can be upto 32 bytes.
Also for diag event EVENT_WLAN_SECURITY, event id is
filled as PTK and GTK req/rsp for unicast and broadcast
req/rsp. PTK,GTK request doesn't make sense for wep case.
As a part of change, increase ssid size to 32 and replace PTK,
GTK req/rsp event id with Unicast, Broadcast req/rsp respectively.
Change-Id: I5aad1875262dd73878cc8393d09de1b23953d3a2
CRs-Fixed: 921847
Add NULL check for pointer qdf_ctx as it returned from call to
function 'cds_get_context' may be NULL and could be dereferenced.
Change-Id: Iea44cd1a2d20ee04d1720c4e8af1065320a589fd
CRs-Fixed: 1024778
nlmsg_put might return NULL if the tailroom is insufficient
to store the nl message. Add the check to avoid the NULL
pointer access.
Change-Id: I01f88262e7cf84cd611c8f72a11577e61e7af1a3
CRs-fixed: 1024810
qcacld-2.0 to qcacld-3.0 propagation
CONFIG_CNSS_LOGGER is introduced to move the logging feature from
CLD driver to kernel module.
This change will mainly benefit for two things for CLD driver.
- To support for dual wifi driver instances and also
future plan of moving out the logging thread and buffer
management to the kernel module.
- While debugging the critical feature that triggers the
autoshutdown and SSR, the log buffer in the CLD driver will
be lost after the driver restart or unload.
The CLD driver will register itself to the cnss logging module and
get the radio index as the indentification for rest of the operation.
Also the message sent from CLD driver to usespace need to be packed with
struct tAniNlHdr; and the hddctx.radio_index need to be filled along with
the message, so that usespace can differentiate the message.
Change-Id: I7ea6cdefac0916b9d4dd76da175607bf7169a8fa
CRs-fixed: 995073
qcacld-2.0 to qcacld-3.0 propagation
Current cnss_diag implementation, do not send NL message in order to
register with host driver, as host driver broadcasts both firmware and
host messages to all the userspace apps whoever is listening on NL
socket.
Hence broadcast logs irrespective of cnss_diag is running or not. Also
do not indicate host driver load/unload status to cnss_diag app.
Change-Id: Ib36324f5bb8dc50521e4646b6184cfe586c10104
CRs-Fixed: 993754
qcacld-2.0 to qcacld-3.0 propagation
Auto Shutdown cancel indication is needed to identify if a
driver is active in multi wlan radio platforms. Userspace
application processing auto shutdown event combines these events
from multiple drivers to arrive at system idle condition for
auto shutdown.
Change-Id: Icc51386bde58d3882e36ab09cd31a527b140a937
CRs-fixed: 1001128
FW DIAG log events are serialized to MC thread(WMA message queue)
which is causing PE/SME message queues starvation when FW is
generating flood of debug log events. Since WMA message queue has
higher priority than PE/SME message queue serialized FW debug log
events eventually lead to SME command queue time out because PE
message queue is starved. Fix this PE/SME message queue starvation
by moving FW diag log event processing to kworker thread.
Change-Id: Ifd8688c61bfdd132a4727d377cfc2e975e5c5b13
CRs-Fixed: 1011762
qcacld-2.0 to qcacld-3.0 propagation
Some logs while Processing netlink messages are excessive.
Remove these redundant logs.
Change-Id: Ic5104e6fb2d306b488adf2a3919e004e5b57e186
CRs-Fixed: 879049
TargetSendSuspendComplete should take the HTCInitInfo
context as an argument. The wow_nack should be its
own argument.
Change-Id: Ib13385cf0a04730d066ffcd53c1f669c7a5ced60
CRs-Fixed: 1003793
Use QDF macro to check if we are in epping mode.
Remove bit masks of epping configuration.
Change-Id: I454ef259dfcc4b7c7860a5adfda605837f4a89cc
CRs-Fixed: 1003792
qcacld-2.0 to qcacld-3.0 propagation
Change to initiate BUG report in case of fatal event
Add INI support to Enable/Disable it.
The fatal event handled are as below:
- Roaming failed after successful preauth.
- SME command timeout.
- PE defer queue is full.
- CDS run out of message wrapper.
- HDD level wait for event timeout.
CRs-Fixed: 912560
Change-Id: I64dff8b7d0836340ce3bec5f5985d1919b600c23
qcacld-2.0 to qcacld-3.0 propagation
Add diag event for EVENT_WLAN_TDLS_TX_RX_MGMT. This event contains
TDLS action frame type, subtype and if its rx or tx.
Change-Id: I6ec744518b7a391e4511c503cb858d532ef11322
CRs-Fixed: 934447
qcacld-2.0 to qcacld-3.0 propagation
Add diag event for EVENT_TDLS_SCAN_BLOCK. This event indicates if
scan is blocked because of TDLS.
Change-Id: I00dd9d2a54cbe054b400b2d1cb74c0e14b9a13d7
CRs-Fixed: 934456
qcacld-2.0 to qcacld-3.0 propagation
Add diag event for EVENT_OFFLOAD_REQ. This events contains info
if host has enabled or disabled the offload.
Change-Id: I19fe216ac0900dedbcb7b247cf0d171979308dc5
CRs-Fixed: 934455
qcacld-2.0 to qcacld-3.0 propagation
Add diag event for EVENT_WLAN_SUSPEND_RESUME.
This contains info if driver has entered early suspend, suspend,
early resume or resume state.
Change-Id: Ic9bb815667ea9203d44a3c3cfcecbdbae573e717
CRs-Fixed: 934452
qcacld-2.0 to qcacld-3.0 propagation.
Add diag event for EVENT_WLAN_TDLS_ENABLE_LINK.
This event contains below info:
- peer mac address
- Does peer supports off channel
- Is off channel configured
- Is off channel established
Change-Id: Ib491d8ac1d8a7850a050bf14a60b6eb08ab94078
CRs-Fixed: 934449
qcacld-2.0 to qcacld-3.0 propagation
Add diag event for TDLS teardown. Event contains reason for
teardown and peer mac address.
Change-Id: Ib04deac6cf7d61fae1a7bb0d0fb8f4dc652b3217
CRs-Fixed: 934448