Commit Graph

15521 Commits

Author SHA1 Message Date
Naveen Rawat
e702e9b12b qcacld-3.0: HT20 Protection Mode
HT_PURE mode indicates either only HT20 STAs are connected
to a HT20 only SAP or HT20/40 STAs are connected to HT20/40
SAP. Otherwise its HT20 protection mode. This patch fixes code
to work accroding to this condition correctly.

Change-Id: Ib431209f5dfc8800d0932752a282c954f0228503
CRs-Fixed: 866447
2015-11-25 17:26:45 -08:00
Naveen Rawat
9e4872aa79 qcacld-3.0: Fix for hidden SSID iwpriv command.
This is qcacld-2.0 to qcacld-3.0 propagation

In lim function to process hidden SSID, current code was treating
SME sessionID as PE sessionID and hence find session entry for that
was failing. This patch fixes this by using correct "find pe session"
API, that finds PE session by using SME session ID.

Change-Id: I72286cd54a41ae9c01bd916bb0156dd3131eb71c
CRs-Fixed: 934870
2015-11-25 17:26:44 -08:00
Satish Singh
7137db3b56 Release 5.0.0.145
Release 5.0.0.145

Change-Id: Ie54534d6ea7b031527ab261ac97025d6728714cd
CRs-Fixed: 688141
2015-11-23 13:09:11 -08:00
Chandrasekaran, Manishekar
49d21a4c88 qcacld-3.0: Reset global saved command to avoid double free
Reset the global saved scan command to avoid double free.
In sme_process_set_hw_mode_resp(), after freeing the local
saved_cmd pointer, the global mac->sme.saved_scan_cmd is
not reset to NULL. This ends up in double free in
csr_scan_complete()->csr_handle_nxt_cmd() where we are
still holding a stale pointer.

CRs-Fixed: 941130
Change-Id: Ibb93b8d8e601936c7996518f21646e2c140cbd20
2015-11-23 13:09:11 -08:00
Ratnam Rachuri
12553c61f6 qcacld-3.0: make non-interruptable wait for Tlshim Rx shutdown
qcacld-2.0 to qcacld-3.0 propagation

replace wait_for_completion_interruptible with wait_for_completion
to do Tlshim Rx shutdown with non-interruptible call.

Change-Id: I09a70fd2818db42401ba2ca91a75244c1f07557e
CRs-Fixed: 820482
2015-11-23 13:09:11 -08:00
Ratnam Rachuri
f47dfdffca qcacld-3.0: Code refactoring in SAP start
qcacld-2.0 to qcacld-3.0 propagation

This fix removes redundant cdf_mem_zero and cdf_mem_copy

Change-Id: I757a2e14358403b7950868fd81d8e58ab3f829df
CRs-Fixed: 796971
2015-11-23 13:09:11 -08:00
Ratnam Rachuri
3c5dd4131d qcacld-3.0: Reduce log level from pr_err to pr_info
qcacld-2.0 to qcacld-3.0 propagation

Reduce log level from pr_err to pr_info to avoid excessive logging
in wlan_queue_logmsg_for_app fn.

Change-Id: I10b728d9fc0c46ca4b4a38a6b060f25cad124207
CRs-Fixed: 840477
2015-11-23 13:09:11 -08:00
Peng Xu
45486ea83e qcacld-3.0: Fix second P2P-GO interface fail to startup issue
For P2P GO + GO concurrency cases, the second P2P GO interface failed
to startup due to the incorrect checkings in the driver code for GO
interface. This fixes the condition checking logic.

Change-Id: I1a8a1b3dd4eed9dd8c824241d7b1759751e53a18
CRs-fixed: 938850
2015-11-23 13:09:11 -08:00
Bhargav Shah
480a90f597 qcacld: Add support to enable/disable logging for all missing modules.
qcacld-2.0 -> qcacld-3.0 propagation

Add support to enable and disable logging for all missing modules
from INI.

Change-Id: I1677a2db48193b1130e0fc07e8bdfc42823d3567
CRs-Fixed: 855168
2015-11-23 13:09:11 -08:00
Bhargav Shah
1efa55ca9d wlan: Fix for redundant TDLS log during scan_done callback
qcacld-2.0 to qcacld-3.0 propagation

In wlan_hdd_tdls_check_bmps(), NULL check for pHddTdlsCtx will be
TRUE if TDLS support is not enabled. This leads to redundant logs,
as this is called for every scan_done callback.
Call wlan_hdd_tdls_scan_done_callback() only when TDLS support is
enabled.

Change-Id: Ice6f8fb1dc64f0669c19a9b5f5ce3d23c8cdc11c
CRs-Fixed: 672099
2015-11-23 13:09:11 -08:00
Yun Park
4cab6ee4be qcacld-3.0: Fix WDI pipe enable failure due to double invoke
qcacld-2.0 to qcacld-3.0 propagation

Fix an issue which enables WDI pipes even when RM resource request
failed,  which will cause to invoke WDI pipe enable twice when RM_
RESOURCE_GRANTED notification arrives later.
Also fixed a possible discrapancy between connected client stat count
and actual  number of connected clients.

Change-Id: Ibb86ef6ada398fcc669e3a894daadc09e6096b0f
CRs-fixed: 927581
2015-11-23 13:09:11 -08:00
Yun Park
f7dc8cd956 qcacld-3.0:IPA-uC: Check IPA pipes are up before disable it when SSR deinit
qcacld-2.0 to qcacld-3.0 propagation

When SSR happens, IPA WDI pipes may not be enabled yet,
so need to check if it up before disable it.

Change-Id: I5ff643fcf9804dc0933105079f0653884f7d63dc
CRs-Fixed: 938605
2015-11-23 13:09:10 -08:00
Yun Park
4d8b60a777 qcacld-3.0: IPA uC: Return EPERM for RM CONS REQ only during unloading
qcacld-2.0 to qcacld-3.0 propagation

Change to return -EINPROGRESS if WLAN unable to grant IPA CONS resource
due to IPA resource loading is in progress.
Return -EPERM only if WLAN unable to grant IPA CONS resource due to
IPA resource unloading is in progress.

Change-Id: Iea4d804d3f81b086e723230fb8eddc7d9561d7d1
CRs-Fixed: 926880
2015-11-23 13:09:10 -08:00
Govind Singh
a471e5e2ad qcacld-3.0: Add FW Profiling support
Add Profiling stats support in HOST driver to
have CPU based profiling for critical data
path functions in FW.

Change-Id: Ib6d4f0b220f622cf304536c8e538d4dc34c6434b
CRs-Fixed: 921950
2015-11-23 13:09:10 -08:00
Govind Singh
b7ab577111 qcacld-3.0: IPv6 packets classification support
Enable classification of IPv6 frames based on the
traffic class field in the IPv6 header.

Change-Id: I4114cb972f61b75da35a225c07f7628d748a744c
CRs-Fixed: 921955
2015-11-23 13:09:10 -08:00
Houston Hoffman
e22977fdc0 qcacld-3.0: Record log timestamp type
Log timestamp can come from Qtimer or the system timer.
Record the source in a global variable that will be dumped
with the logs.

Change-Id: Ib168cfdc874426e48b12aac89f00d81ffe9e7fa6
CRs-Fixed: 940773
2015-11-23 13:09:10 -08:00
Houston Hoffman
04507d3cf4 qcacld-3.0: Route logging through CDF_TRACE
AR_print and cdf_print macros were not logging to the driver log.

Change-Id: I11bc86f6c8ee91866c8e27903eaa15966111ce62
CRs-Fixed: 940770
2015-11-23 13:09:10 -08:00
DARAM SUDHA
c653bbac92 qcacld-3.0: debug check for l_rx_defrag_waitlist_remove
qcacld-2.0 to qcacld-3.0 propagation

while wlan disconnection is happening, in the process of peer-cleanup
check for tqu->prev to be non-null before calling TAILQ_REMOVE.

Change-Id: I5841dfe80b954bdfac5147f5e3e3661cc85ba4b1
CRs-Fixed: 836447
2015-11-23 13:09:10 -08:00
DARAM SUDHA
ecf4211368 qcacld-3.0: Set tfm to NULL to avoid freeing in crypto_free_cipher
qcacld-2.0 to qcacld-3.0 propagation

tfm is invalid when alloc fails. Set tfm to NULL to avoid freeing
the crypto transform in crypto_free_cipher()->crypto_destroy_tfm.

Change-Id: I3261377f3a7b6ab5740d4144be9e84a1a3a07e42
CRs-Fixed: 809085
2015-11-23 13:09:10 -08:00
DARAM SUDHA
647ef12880 qcacld-3.0: apply vos_assert in vostimer APIs, in uninitialized case
qcacld-2.0 to qcacld-3.0 propagation

As a debug enhancement, call vos_assert in vos timer APIs, when
API fails because of unintialization.

Change-Id: Ib7d4c7995a60b23413eead4603b38ff89ff48715
CRs-Fixed: 810282
2015-11-23 13:09:09 -08:00
DARAM SUDHA
7e7e91b832 qcacld-3.0: Print signature on kernel logs when user triggers SSR by iwpriv
qcacld-2.0 to qcacld-3.0 propagation

Currently driver logs are routed as messages to CNSS_DIAG so the
Kernel does not print them into the Kernel log. Add a debug print
to display in kernel log when ever the SSR is triggered using iwpriv.

In dog-food testing, this print would help to separate out the
user-triggered SSR scenarios.

Change-Id: I58f247a26e802bced0c226ee92052ca0d69e1554
CRs-Fixed: 844938
2015-11-23 13:09:09 -08:00
DARAM SUDHA
5d5fb80950 qcacld-3.0: Reduce the log level for debug print in softap_xmit
qcacld-2.0 to qcacld-3.0 propagation

Reduce the error log level for LOGP in Progress in
hdd_softap_hard_start_xmit to avoid WD bark

Change-Id: I1be5db2eb9b59f22f735f9c21eeac9a81bb246f5
CRs-Fixed: 824309
2015-11-23 13:09:09 -08:00
DARAM SUDHA
f6c3f9705e qcacld-3.0: Add debug code to rootcause command timeout issue.
qcacld-2.0 to qcacld-3.0 propagation

when EXIT_BMPS is pending in activeList, it causes crash
with excess logging for RoamPending list. In this scenario
gTraceTbl has lost SME details due to other MTRACE commands.
Because of which, the issue is not rootcaused.

Add below changes to rootcause if the issue appears again:
1. print only first 5 commands from roamPendingList
2. Bug_on if the commandlist is full
3. Add MTRACE for PMC commands

CRs-Fixed: 833261
Change-Id: Id5bb399c4a8c8e84ddfa121a66881e3ecb901b05
2015-11-23 13:09:09 -08:00
Satish Singh
b1e0e4b2c7 Release 5.0.0.144
Release 5.0.0.144

Change-Id: I1e50bb41f68810fd11d60b82877a1d7c1745505e
CRs-Fixed: 688141
2015-11-23 13:09:09 -08:00
Manjunathappa Prakash
8e8f67e336 qcacld-3.0: Enable fastpath INI variable
Enable the fastpath for data traffic.

Change-Id: I77dab02c579a48862287dba629785e3c8bb6b6ac
CRs-Fixed: 935974
2015-11-23 13:09:09 -08:00
Krishna Kumaar Natarajan
4340c68785 qcacld-3.0: Remove Radio measurement related cfg entries
qcacld-2.0 to qcacld-3.0 propagation

Remove cfg entries related to radio measurement(RM).

We have support to enable/disable RM capability through INI config.
We also had entry in cfg static table(cfg.dat). This change set
will remove entries related to RM.

Change-Id: Ic56cc34628cd1c0fb10512069ef6dc5f0eebb887
CRs-Fixed: 924420
2015-11-23 13:09:09 -08:00
Krishna Kumaar Natarajan
d26e9e77d8 qcacld-3.0: Set RM capability independent of AP's capability
qcacld-2.0 to qcacld-3.0 propagation

Remove check for AP's capability information to set station's
radio measurement(RM) capability in Capability Information element.

Change-Id: I6047d4dec19e7cd32d6733e4da773875bbbb31aa
CRs-Fixed: 924420
2015-11-23 13:09:09 -08:00
Krishna Kumaar Natarajan
f599c6e7d3 qcacld-3.0: Support to configure RM enabled capability IE
qcacld-2.0 to qcacld-3.0 propagation

Add support to configure RM enabled capbility information element
through INI.

Using the introduced INI config option(rm_capability), we can set
or unset any bit in the IE. Default value for the config parameter
is set based on rrmInitialize routine.

Change-Id: Ia2a4352760db77ab71dad4757eb603d7539ffefa
CRs-Fixed: 918667
2015-11-23 13:09:09 -08:00
Varun Reddy Yeturu
bee4f78cbe qcacld-3.0: Report roaming events to diag module
In case of LFR3.0, report the critical roaming events
such as receiving the roam synch indication from firmware,
sending the roam synch complete to the firmware, sending
Hand Over failure event to the firmware to the DIAG modules
for better debug capabilities.

CRs-Fixed: 938002
Change-Id: Icfb4972d59dc3b734ed5af37d70834fea470d741
2015-11-23 13:09:08 -08:00
Sanjay Devnani
cdab59ec76 qcacld-3.0: enable srri/drri on ddr
The SRRI/DRRI can be read from DDR instead of doing an
actual hardware read. This mechanism is compiled out by
default.

Change-Id: I8fc6c8817b5958f3d00b47ccd3dba36b354097e8
CRs-Fixed: 932344
2015-11-23 13:09:08 -08:00
Sanjay Devnani
19879578da qcacld-3.0: Enable all 12 Copy Engines
Facilitates faster data transfers. This provides a basis
to start using the other 4 CEs for additional services.
Only adding structure elements to enable these CEs not
really using them yet.

Change-Id: I4be07413de409195ccc717765c75806a1470941e
CRs-Fixed: 938752
2015-11-23 13:09:08 -08:00
Sanjay Devnani
64d8f8fcf5 qcacld-3.0: Remove redundancy in svc to ce map
Map was replicated at 2 places.
Deleting the second one to use only one.

Change-Id: Ie3a6f0882cbaf2988f8e456b989d3fed9d631de0
CRs-Fixed: 936404
2015-11-23 13:09:08 -08:00
Mahesh Kumar Kalikot Veetil
221dc67394 qcacld-2.0: Fix intra-BSS forwarding
qcacld-2.0 to qcacld-3.0 propagation

When INTRA_BSS_FWD_OFFLOAD is enabled, FW will send all Rx packets to
IPA uC, which needs to be forwarded to other interfaces. IPA driver will
send back non-IP, broadcast and multicast packets to WLAN host driver
in exception pipe with fw_desc field set by FW as:
   - FW_RX_DESC_FORWARD_M bit: Forward the packet to TX
   - FW_RX_DESC_DISCARD_M bit: Do not send the packet to network stack,
     which will be set of for intrabss unicast.

Change-Id: Ie2826c8c7b578e3684133a2554ed086e721f67ae
CRs-Fixed: 895662
2015-11-23 13:09:08 -08:00
Varun Reddy Yeturu
ec932147b0 qcacld-3.0: Change the range of values for Early Stop Scan feature
Change the range of values for early stop scan feature
configuration items as per firmware expectations.

CRs-Fixed: 939185
Change-Id: I7d893cd1ed44a71bffaab22121f052288b14b640
2015-11-23 13:09:08 -08:00
Yun Park
e59b3915fa qcacld-3.0: Change event_lock for HDD IPA resources with ipa_lock
qcacld-2.0 to qcacld-3.0 propagation

HDD IPA event_lock was originally introduced to protect IPA resources
between HDD_IPA events, but this also used to protect HDD IPA internal
struct now. So, this could cause an unexpected deadlock by guarding
too wide resources.
This change is to separate a lock for IPA resources.

Change-Id: Ie9b676e5d4775e54bddf141b841e0f0daeb22731
CRs-fixed: 934723
2015-11-23 13:09:07 -08:00
Yun Park
f97eab34db qcacld-3.0: Change cdf_trace_hex_dump to use hex_dump_to_buffer
qcacld-2.0 to qcacld-3.0 propagation

Change cdf_trace_hex_dump to use hex_dump_to_buffer.
This will print one line even if buffer size is less than 16 bytes.

Change-Id: I2dec78048d52f96d494c9e0ce133c4c18f48e954
CRs-fixed: 933157
2015-11-23 13:09:07 -08:00
Tushnim Bhattacharyya
206bcac761 qcacld-3.0: wma_update_intf_hw_mode_params to call tx & rx ss macros correctly
The Tx & Rx SS macros aren't called with correct parameter in
wma_update_intf_hw_mode_params. Fix the calls to get the Tx & Rx SS values
correctly.

Change-Id: I4df4db549d4bb0c7d00a521de55165bfccf16a65
CRs-fixed: 935341
2015-11-23 13:09:07 -08:00
Naveen Rawat
83102eff80 qcacld-3.0: Fix for CCKM fast roaming failure.
This is qcacld-2.0 to qcacld-3.0 propagation

Due to cleanup in function limSendReassocReqWithFTIEsMgmtFrame()
assocReqLen was not being set to zero when the corresponding buffer
was NULL. This caused memory copy in buffers being passed between
PE and SME and HDD to be improper. HDD when reading the buffer
wrongly read it from wrong offset and hence RSN IEs being passed to
supplicant are all zeros. This patch fixes this by setting
assocReqLen = 0 when AssocReq buff is NULL

Change-Id: I0edaff93fcdbb2d5ae80478a76f07cb4dee8aceb
CRs-Fixed: 929797
2015-11-23 13:09:07 -08:00
Prashanth Bhatta
9dddcb2745 qcacld-3.0: htc: Fix race while processing HTC control messages
HTC control messages ready and connect service indications use
CtrlResponseBuffer for processing the HTC messages. Flag
CtrlResponseProcessing is used to protect this buffer from
overwriting before processing. Current implementation has race
condition as setting the flag happens on waiting thread context
instead of receive thread context so this could lead to
overwriting the CtrlResponseBuffer if waiting thread doesn't get
chance to run because of may be another RX interrupt.
Also to catch this kind of issues, add CDF_BUG so that it is
easier to triage the cause for the malformed packet which is not
expected.

CRs-fixed: 881504
Change-Id: Ia279e08c761a3432cf01d4dc129f7b5439d04680
2015-11-23 13:09:07 -08:00
Prashanth Bhatta
bfc2529556 qcacld-3.0: Fix compilation issue for ROAM_OFFLOAD feature
Fix compilation issue when ROAM_OFFLOAD is not enabled. There are
issues with ROAM_OFFLOAD feature conditional compilation.

Change-Id: I068245885ab9f054b4c03307a9ecc0066bc88ebe
CRs-fixed: 784982
2015-11-23 13:09:07 -08:00
Dhanashri Atre
8d97817435 qcacld-3.0: LRO - Fix LRO disable crash
- Fix a crash seen due to memory being freed twice
- Deregister the LRO flush callback during LRO disable

CRs-Fixed: 933123
Change-Id: I18edadc620da04b9a571da6e1b143c099c308d90
2015-11-23 13:09:07 -08:00
Dhanashri Atre
98815d2b8e qcacld-3.0: Remove excessive logging in the OL tx path
This change is to address a watchdog bite that is seen when
a peer corresponding to the transmit frame is not found in
the OL TXRX transmit path. The change is to log the error
using a CDF trace warning message.

Change-Id: I8792da5539c75a3041c3c85f5a7e29714b721502
CRs-Fixed: 936374
2015-11-23 13:09:06 -08:00
Krunal Soni
b2f1304e77 qcacld-3.0: Fix PMF configuration for LFR2 and LFR3 roaming
This commit will fix the incorrect pmf config param for STA DUT
in-case of LFR2/3 roaming scenario.

Change-Id: Ic0d6d4632cfeaa0589b435a6710f3c2380cf5883
CRs-Fixed: 935947
2015-11-23 13:09:06 -08:00
Krunal Soni
3b7f733ea6 qcacld-3.0: Fix to honor try again later value only if conn is pmf
qcacld-2.0 to qcacld-3.0 propagation

Current driver is honoring association response with try again later
as reason code without connection being PMF. Driver has been designed
to handle try again later reason only for PMF connection. For non-pmf
case it should report as failure to upper layer just like any other
failures.

To fix this situation, honor try again later reason code only if the
connection is PMF.

Change-Id: I4b37d072bc92e003fcfe62ffe8f93f7c185eb6c7
CRs-Fixed: 919203
2015-11-23 13:09:06 -08:00
Jeff Johnson
edeff23d4f qcacld-3.0: Avoid NULL skb dereference during softap TX
Change "qcacld-3.0: Record data in DP Trace" introduced skb tracing
functionity to the driver.  In hdd_softap_hard_start_xmit() logic was
added to trace the skb contents, including logic to trace the skb
contents when an skb was dropped.  However some of the code paths to
this "drop_pkt" tracing have a NULL skb.  Therefore we must bypass the
dropped skb content tracing when the skb is NULL.

Change-Id: I485c92647355a0f7f420f40640b697a1d3eb5fb0
CRs-Fixed: 938254
2015-11-23 13:09:06 -08:00
Krishna Kumaar Natarajan
052c6e6b30 qcacld-3.0: Fix layering violation in hdd_update_tgt_services
Fix layering violation in hdd_update_tgt_services by not accessing
pMac structure directly from HDD.

New SME API - sme_update_tgt_services() introducted to configure the
parameters in pMAC structure.

Change-Id: I7310e51001c5e17ed63730d7a86445548aa3d246
CRs-Fixed: 915267
2015-11-23 13:09:06 -08:00
Krishna Kumaar Natarajan
9f42170273 qcacld-3.0: Fix inappropriate use of linux-specific code
Fix inappropriate use of Linux-specific workqueue code and
data structures in WMA.

WMA is supposed to be os-agnostic code but it currently has
Linux-specific data declarations and code for ack_cmp_work.
This change set will convert the existing code to os-agnostic
representation.

Change-Id: I3260fa3b4b482c10272ac94ab10e14e40b8950f9
CRs-Fixed: 924421
2015-11-23 13:09:06 -08:00
Krishna Kumaar Natarajan
ea08e502e5 qcacld-3.0: Fix the incorrect usage of node in wma_cleanup_hold_req
Fix the usage of list node which was deleted before the usage in
wma_cleanup_hold_req function.

Change-Id: I8ee243fda511de71083ce7e631a21497f4f153c1
CRs-Fixed: 937267
2015-11-23 13:09:06 -08:00
Krishna Kumaar Natarajan
a5c53bd6c0 qcacld-3.0: Fix the usage of struct list_head for vdev_resp_queue
Fix the usage of linux-specific structures and functions by
replacing them with OS-abstracted types for vdev_resp_queue.

Change-Id: If2d4a9a1dffd59ec1db4b4aa572dfa453bfd0167
CRs-Fixed: 931094
2015-11-23 13:09:05 -08:00
Yue Ma
a5f06c0abd qcacld-3.0: CL 1414446 - update fw debug log file
qcacld-2.0 to qcacld-3.0 propagation

Add NAN feature follow up TX related dbglog IDs.

Change-Id: Id015d185837e917b3bf026a4a39528e7d80b2588
CRs-fixed: 938151
2015-11-23 13:09:05 -08:00