Commit Graph

77 Commits

Author SHA1 Message Date
Abhishek Singh
e740517a7b qcacld-3.0: Do not call pr_info while using spin_lock_irqsave
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
2016-08-27 15:31:25 -07:00
Srinivas Girigowda
c34f11dfd8 qcacld-3.0: Add support to enable/disable packetlog using iwpriv
Add support to enable/disable packetlog using
iwpriv wlan0 pktlog command.

Change-Id: Ia17f659e16221985be5cd9e75ebf0c46f2dc5693
CRs-Fixed: 970647
2016-08-20 10:36:55 -07:00
Nirav Shah
dcc4c875c4 qcacld-3.0: Changes to support WDI_EVENT_SW_EVENT for packetlog
Changes in host to support WDI_EVENT_SW_EVENT for packetlog.

Change-Id: I8936a408a7da21ad293b6da7af146298c049052d
CRs-fixed: 1047382
2016-08-20 10:36:52 -07:00
Nirav Shah
c657ef50ea qcacld-3.0: Changes to update mac_id in packetlog
Changes to update mac_id in packetlog header
for DBS.

Change-Id: I602d399e1ef34077b5d7bfc867fb60678ed8612c
CRs-fixed: 1047382
2016-08-18 00:41:01 -07:00
Nirav Shah
bd36b0690b qcacld-3.0: Changes to support different rx data path
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
2016-08-17 17:06:26 -07:00
Krunal Soni
bf5840bd7d qcacld-3.0: Fix to resolve checkpatch errors
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
2016-08-13 14:07:28 -07:00
Himanshu Agarwal
5e302a7e6e qcacld-3.0: Avoid NULL pointer dereference when ASSERT disabled
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
2016-07-29 18:15:18 -07:00
Govind Singh
5b48620c03 qcacld-3.0: Add host changes for latest fw common changes
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
2016-07-08 06:12:10 -07:00
Himanshu Agarwal
879a3bec5c qcacld-3.0: Add NULL checks before dereferencing
Add NULL checks before dereferencing in:
1) BMI layer
2) HTT layer
3) EPPING layer.

Change-Id: I9998d4aeb983dc101121a71d791d7ec626e3f5d4
CRs-Fixed: 1036390
2016-07-06 13:30:39 -07:00
Houston Hoffman
e248264ce4 qcacld-3.0: Add context checking in epping_disable
epping_disable needed to check that contexts were
not null before trying to perform the disable opperations.

Change-Id: Ia8182b1deed1a6a1d2643f91660880fb52450e3d
CRs-Fixed: 1027691
2016-06-23 12:28:26 -07:00
Mohit Khanna
43f433d719 qcacld-3.0: Add USB bus support (CDS, Utils, SAP)
Add Module specific changes for USB bus support for qcacld3.0.

Change-Id: Idb9fe1232d451e4f88a001fbd6591ba13b0c859a
CRs-Fixed: 1023663
2016-06-23 12:28:04 -07:00
Abhishek Singh
7a995582d6 qcacld-3.0: Change struct of EVENT_WLAN_SECURITY diag event
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
2016-06-23 12:26:41 -07:00
Yuanyuan Liu
9736118d7e qcacld-3.0: Add NULL check for qdf_ctx
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
2016-06-09 22:14:39 -07:00
Ryan Hsu
50da826021 qcacld-3.0: Add check to avoid NULL pointer access
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
2016-06-09 22:13:26 -07:00
Nirav Shah
7f337dbb7a qcacld-3.0: Use different copy engine for packetlog
Create new endpoint and use CE11 for packetlog
messages from target to host.

CRs-Fixed: 995628
Change-Id: I0df597468b0b7399dc545b5a4d4fd1a4c04a1df0
2016-06-06 18:45:14 -07:00
Ryan Hsu
ceddceb391 qcacld-3.0: Add support for cnss logger module
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
2016-06-01 10:49:09 -07:00
Mahesh A Saptasagar
da5a6823b1 qcacld-3.0: Broadcast logs irrespective of cnss_diag is running or not
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
2016-06-01 10:48:59 -07:00
Yuanyuan Liu
0e0aa93d32 qcacld-3.0: Use PLD APIs
Replace CNSS/ICNSS APIs with PLD APIs.

Change-Id: Ic0be1ff00dd7b4fc0b125e625f5d3977f4580c5e
CRs-Fixed: 1014363
2016-05-23 11:45:57 -07:00
Manikandan Mohan
5b1980ac9d qcacld-3.0: Send Auto shutdown cancel event
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
2016-05-18 16:31:32 -07:00
Rajeev Kumar
e871734de8 qcacld-3.0: De-serialize FW diag log events from MC thread
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
2016-05-13 16:20:43 -07:00
Agrawal Ashish
bb09f5eca1 qcacld-3.0: Remove redundant logs
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
2016-05-09 11:28:51 -07:00
Houston Hoffman
a769ed3ba1 qcacld-3.0: Add wow_nack to TargetSendSuspendComplete api
TargetSendSuspendComplete should take the HTCInitInfo
context as an argument.  The wow_nack should be its
own argument.

Change-Id: Ib13385cf0a04730d066ffcd53c1f669c7a5ced60
CRs-Fixed: 1003793
2016-05-04 21:18:56 -07:00
Houston Hoffman
371d4a9340 qcacld-3.0: Use qdf macro for epping mode
Use QDF macro to check if we are in epping mode.
Remove bit masks of epping configuration.

Change-Id: I454ef259dfcc4b7c7860a5adfda605837f4a89cc
CRs-Fixed: 1003792
2016-05-04 21:18:51 -07:00
Abhishek Singh
5ea86536ef qcacld-3.0: Add scenario based BUG report
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
2016-05-04 21:18:44 -07:00
Abhishek Singh
437606ac2d qcacld-3.0: Add diag event for TDLS management frame tx and rx
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
2016-05-04 21:18:26 -07:00
Abhishek Singh
af1d0c92ec qcacld-3.0: Add diag event for scan blocked by TDLS.
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
2016-05-04 21:18:19 -07:00
Abhishek Singh
4aad0f7daa qcacld-3.0: Add diag event for offload requests
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
2016-05-04 21:18:15 -07:00
Abhishek Singh
baea27d52a qcacld-3.0: Add diag event for suspend and resume
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
2016-05-04 21:18:12 -07:00
Abhishek Singh
74bcb0ab41 qcacld-3.0: Add diag event for TDLS enable link
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
2016-05-04 21:18:08 -07:00
Abhishek Singh
4ef5fe00a4 qcacld-3.0: Add diag event for TDLS teardown
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
2016-05-04 21:18:03 -07:00
Peng Xu
07e6e08f3a qcacld-3.0: Correct EPPING mode macros
Correct EPPING mode related macro definitions.

Change-Id: If8ca48145e4e1043e3e5bd8d7df967d6140f610e
CRs-fixed: 995819
2016-04-27 17:00:27 -07:00
Houston Hoffman
52ec669089 qcacld-3.0: Fix compilation errors for msmcobalt (2/2)
Fix compilation errors when building for msmcobalt.

Change-Id: I2e1d968e967f493fb927440777d1d01f7e3f66b0
CRs-Fixed: 1006068
2016-04-25 22:56:07 -07:00
Rajeev Kumar
fd95385a93 qcacld-3.0: Use new EPPING con_mode enum
EPPING con_mode is now a single enum.

Change-Id: I403a2ab33ea85dc69aa98fc50d9ece6cf8e1ee19
CRs-Fixed: 989695
2016-04-20 16:13:46 -07:00
Rajeev Kumar
8044edeb8f qcacld-3.0: Fix epping memory errors
Epping nbuf packets were being tracked by cdf nbug tracking. This change
stops tracking of packets prior to being released into the network stack.
and uses the correct nbuf free routine for tx packets.

Change-Id: Ib986fb595139ace706db00839cf1dabb983013fd
CRs-Fixed: 989695
2016-04-18 17:04:07 -07:00
Yue Ma
1e11d79646 qcacld-3.0: Remove CDS related functions in HTC
Update runtime PM APIs and HTC connection mode parameter
accordingly.

Change-Id: I2f54933b90aaed233042c113d246fae4726f5707
CRs-fixed: 982024
2016-04-01 15:24:33 -07:00
Govind Singh
d76a5b05cb qcacld-3.0: Adapt wma layer with common wmi layer
Modify wmi layer API calls with respect to new common wmi layer.
Register all wmi service events using standard wmi event register API.
Remove TLV formation of common API from wma layer.
Pass rx scheduling context of wmi events during event registration.

CRs-Fixed: 976998
Change-Id: Id490db96c28778ec371dd633d43dfa002c08c16a
2016-03-28 15:54:44 +05:30
Anurag Chouhan
f04e84f24a qcacld-3.0: Add qdf references in place of cdf
Replace CDF references with QDF references.

Change-Id: Ifb4571174719b5fce61dd305545d05628265f317
CRs-Fixed: 981188
2016-03-24 11:58:26 -07:00
Nirav Shah
cbc6d72570 qcacld-3.0: Update driver to use QDF NBUF APIs(1/2)
Update driver to use QDF NBUF APIs

Change-Id: I4409b6c046de1221b57baed45088d5f3b898b565
CRs-Fixed: 981188
2016-03-24 11:58:23 -07:00
Anurag Chouhan
600c3a00be qcacld-3.0: Add QDF mem API's
Replace CDF mem API's with QDF mem API's

Change-Id: Icf247b4dc5b26f4b960dcb98e323b096c1d6076c
CRs-Fixed: 981188
2016-03-24 11:58:16 -07:00
Anurag Chouhan
df2b26883d qcacld-3.0: Fix compilation issues after rebase
Remove the compilation issues for references to cdf after rebase

Change-Id: Ia39c5c72fe5c95f9a91d5f6967ea60904b46f756
CRs-Fixed: 981188
2016-03-24 11:58:14 -07:00
Anurag Chouhan
b2dc16fefe qcacld-3.0: Add QDF trace API's
Replace CDF trace API's with QDF trace API's.

Change-Id: I5b99dce73297f7de8f0755fa0b47dc3f84c78747
CRs-Fixed: 981188
2016-03-24 11:58:11 -07:00
Anurag Chouhan
210db07644 qcacld-3.0: Add QDF MC timer API's
Replace CDF MC timer API's with QDF MC timer API's

Change-Id: If18069e9cb8dbd24c5cdc8bd8def6932f55c0168
CRs-Fixed: 981188
2016-03-24 11:58:08 -07:00
Anurag Chouhan
2ed1fced92 qcacld-3.0: Add QDF osdep changes
Replace CDF osdep with QDF osdep

Change-Id: Id2ba89c75df1fb8c4973a87219785353c3c2ff3c
CRs-Fixed: 981188
2016-03-24 11:58:05 -07:00
Anurag Chouhan
c554842327 qcacld-3.0: Add QDF utils
Replace CDF utils with QDF utils.

Change-Id: Ib6b3ad56b3268b1be438f3204f91d995f8bb3900
CRs-Fixed: 981188
2016-03-24 11:58:03 -07:00
Anurag Chouhan
a37b5b783a qcacld-3.0: Add QDF lock API's
Replace CDF lock API's with QDF lock API's.

Change-Id: I7c4a59920e17915f077c87457c513e763738c062
CRs-Fixed: 981188
2016-03-24 11:57:57 -07:00
Anurag Chouhan
6d760664ee qcacld-3.0: Add QDF types
Replace CDF types with QDF types

Change-Id: Idd6e65b148efb54f22d6951572957f1c6166465b
CRs-Fixed: 981188
2016-03-24 11:57:54 -07:00
Anurag Chouhan
754fbd8d95 qcacld-3.0: Add QDF timer API's
Replace CDF timer API's with QDF timer API's

Change-Id: I43aa23676ed893a7309135dec6a8b897b113f00e
CRs-Fixed: 981188
2016-03-24 11:57:52 -07:00
Anurag Chouhan
8e0ccd330b qcacld-3.0: Add QDF atomic API's
Replace CDF atomic API's with QDF atomic API's.

Change-Id: I18b4ab3487357d150bdfb96f9a078e1b5abb3156
CRs-Fixed: 981188
2016-03-24 11:57:44 -07:00
Anurag Chouhan
50220ce67c qcacld-3.0: Add qdf time API's
Replace CDF time API's with QDF time API's.

Change-Id: I3418f5603e5a05219a8470de3a9197928a3a8f13
CRs-Fixed: 981188
2016-03-24 11:57:42 -07:00
Anurag Chouhan
fb54ab0eac qcacld-3.0: Add QDF status
Replace CDF status with QDF status

Change-Id: I7170c8ae4c5bd97a8f0f383af637bb2ec312f082
CRs-Fixed: 981188
2016-03-24 11:57:39 -07:00