Commit Graph

338 Commits

Author SHA1 Message Date
Houston Hoffman
4cf4763fb1 qcacld-3.0: Support atomic sub in cdf
qcacld-2.0 to qcacld-3.0 propagation

support atomic_sub in cdf

Change-Id: Ie03c786f96533063b429fa3ea011e6e05c9504e2
CRs-Fixed: 938145
2015-12-28 22:35:56 -08:00
Houston Hoffman
67056b2870 qcacld-3.0: Initialize irq_lock and connection_status_lock
Uninitialize spinlock caused crash on mdm platform.

Change-Id: I0d86999d70e35c69775e698e69a8388de24d6fb3
CRs-Fixed: 951563
2015-12-28 22:35:55 -08:00
Pradeep Reddy POTTETI
ed31554421 qcacld-3.0: Enable WMM if HT capabilities are present in beacon
qcacld-2.0 to qcacld-3.0 propagation.

WMM should be enabled if HT caps are present even if WMM ie is
not present in beacons/probe response frames. In few places it
is not taken care. This commit will address the issue.

CRs-fixed: 873761
Change-Id: I985b7721fc28c9b7d087123c6cff9d76f93696d5
2015-12-28 22:35:55 -08:00
Pradeep Reddy POTTETI
8226a1db51 qcacld-3.0: Send TDLS setup request and response with VI tid
qcacld-2.0 to qcacld-3.0 propagation.

Send tdls mgmt frames with VI tid to give more priority
to tdls mgmt frames.

CRs-Fixed: 873749
Change-Id: I9196680f09678185c1010b472851c1aca00b1635
2015-12-28 22:35:55 -08:00
Amar Singhal
01098f7526 qcacld-3.0: Remove the obsolete LINUX VERSION checks
We already know kernel version is more than equal to 3.10.
So remove static checks for any previous kernel.

Change-Id: I4e17614fae47782a02dd528c7b4adf3d2802ec69
CRs-Fixed: 920681
2015-12-28 22:35:55 -08:00
Yun Park
5b635014bc qcacld-3.0: Fix incorrect completion of pending IPA RM CONS request
qcacld-2.0 to qcacld-3.0 propagation

Fix incorrect completion of pending CONS RM request/release
notification, which is sent when receiving PROD RM notification
from IPA. Also cleanup pending CONS request flag when IPA resource
loading/unloading is compelted.

Change-Id: Ie37b7d21e1ad016dbaf9aa0f89c97402911b4a02
CRs-Fixed: 943635
2015-12-28 22:35:55 -08:00
Yun Park
ccc6d7a8d6 qcacld-3.0: Send IPA CONS RM grant notification when loading is completed
qcacld-2.0 to qcacld-3.0 propagation

When IPA requests WLAN CONS resource while IPA resource loading is in
progress, resource will not be granted even after the loading is
completed. This will eventually result IPA uC timeout.

Change-Id: Iae8373c43709cbbccef790973642f5992ddcd359
CRs-Fixed: 943635
2015-12-28 22:35:55 -08:00
Yun Park
312f71a503 qcacld-3.0: send CLIENT_CONNECT message to IPA after enable WDI pipes
qcacld-2.0 to qcacld-3.0 propagation

Since CLIENT_CONNECT message is sent to IPA before enabling WDI pipes,
CLIENT_CONNECT message count could be more than CLIENT_DISCONNECT
count, and this could cause an abnormal behavior in the IPACM.

Change-Id: I03d30c7f82aadf83979084b7e65b8ed14565588d
CRs-fixed: 941894
2015-12-28 22:35:55 -08:00
Prashanth Bhatta
29d7c9924b qcacld-3.0: hdd: Remove unused SSR code
Remove unused SSR code which were used for legacy chipsets.

Change-Id: I3ae3f330a573383890d6e13dd626813f32fc0d51
CRs-fixed: 951587
2015-12-28 22:35:55 -08:00
Prashanth Bhatta
62d1e808dd qcacld-3.0: Do not wait for probe in module_init
Module_init waits for probe to complete after registering the
driver. But this is unnecessary and module load is intended for
loading the module but probe would be called when hardware is
ready. Remove the wait during module_init.

Change-Id: Ic2fe7efa78a1527acf1fd5b7689d70f6d450ccd3
CRs-fixed: 950170
2015-12-28 22:35:55 -08:00
Prashanth Bhatta
5da711e712 qcacld-3.0: Clean-up module init and exit
In module init, bunch of initializations are done which are not
required till probe call back gets called. Also in module exit,
some clean-up done which should wait till remove call back gets
called. Move the initialization done in module init to probe call back and
clean-up done in module exit to remove call back.

Change-Id: Id4a0cb21300de1ceab8ed043638b735f31d516d4
CRs-fixed: 950170
2015-12-28 22:35:55 -08:00
Prashanth Bhatta
05aaf01126 qcacld-3.0: hdd: Fix conditional compilation for FTM
For statically linked driver, con_mode is used for moving from
machine mode to FTM mode but it has conditional compilation
issues. Fix the conditional compilation to properly compile when
FTM feature is enabled.
Along with it, unify the usage of con_mode such that
curr_con_mode is the variable which holds the connection mode
passed as part of module parameter as well as set by the driver.

Change-Id: I7d6a5c9b82d1dbb727208caca78089d6be357e71
CRs-fixed: 950170
2015-12-28 22:35:55 -08:00
Prashanth Bhatta
edd6ca2e39 qcacld-3.0: Move module init related implementation together
Move module init/exit related implementation together and at the
end of the file.

Change-Id: I17a02e4fdddc17fc3a725c29e89a52f5bd9d49b9
CRs-fixed: 950170
2015-12-28 22:35:55 -08:00
Kiran Kumar Lokere
0413ba4ab1 qcacld-3.0: Fix issue in Tx LDPC enable/disable using INI
qcacld-2.0 to qcacld-3.0 propagation.

FW checks the peer Rx LDPC capability in ht and vht capabilities
to do Tx LPDC. But host sets the Tx LPDC flag in peer_flags.
To disable Tx LDPC reset the Rx LDPC capability in peer ht
and vht caps based on Tx LPDC configuration in INI.

Change-Id: I211fd73fd70a35faaf4cfc2c5dc8d842c7ff1e5a
CRs-Fixed: 894306
2015-12-28 22:35:54 -08:00
Ravi Joshi
277ae9beed qcacld-3.0: Add support to indicate subnet change status to user space
LFR3 to indicate the change in IP subnet to user space (supplicant).
This enables the DHCP refresh in case of IP subnet change during
roaming.

Change-Id: I9842a28461346fe97ab39f5a11ae504f2e32fa16
CRs-Fixed: 876335
2015-12-28 22:35:54 -08:00
Ravi Joshi
deb5a8d6ff qcacld-3.0: Add handler for gateway parameter update request
Add handler for gateway parameter request vendor command. The
request is issued to update the gateway parameters to be used
during subnet detection post roaming.

Change-Id: I848f24b36a1d65a0e8bb8465b2b6f2016cb2224c
CRs-Fixed: 876335
2015-12-28 22:35:54 -08:00
Ravi Joshi
9e891bad23 qcacld-3.0: Add LFR Subnet Detection support
Add LFR subnet detection support to protocol stack and
device access layers. In LFR3, the device may perform multiple
roams (may be across multiple IP subnets) without the knowledge
of wlan host. The LFR subnet detection feature enables the device
to regain IP connectivity if the firmware has roamed across the
subnets which otherwise is not possible without disconnect and
reconnect.

Change-Id: I60959af8b6ed330313a7f08f8aa1edfb63938bb8
CRs-Fixed: 876335
2015-12-28 22:35:54 -08:00
Ravi Joshi
742495dd30 qcacld-3.0: Add an INI item to configure LFR subnet detection
Add an INI item to configure LFR subnet detection feature.
LFR subnet detection is enabled by default.

Change-Id: Ifb4bba60dfcd0347137f4a690db50b0c453d1ae8
CRs-Fixed: 876335
2015-12-28 22:35:54 -08:00
Ravi Joshi
61c3c7a927 qcacld-3.0: Interfacing files for LFR Subnet Detection support
Add interfacing files and configuration options to enable
LFR subnet detection feature support.

Change-Id: I46756dfb2dd8071fd2bb762038414709e6212c1c
CRs-fixed: 876335
2015-12-28 22:35:54 -08:00
Satish Singh
4acb24c8ce Release 5.0.0.150 QCACLD3 WLAN Driver
Release 5.0.0.150 QCACLD3 WLAN Driver

Change-Id: Ic243af4c7c3bd1061c2b5427ecab48da45b718b8
CRs-Fixed: 688141
2015-12-28 22:20:57 -08:00
Srinivas Girigowda
419e36b4fe qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in tSirWPSPBCSession
Replace tSirMacAddr with cdf_mac_addr in tSirWPSPBCSession.

Change-Id: I46c321c74cfae794c3a77be2cba198baa5aba12f
CRs-Fixed: 898864
2015-12-28 22:20:28 -08:00
Srinivas Girigowda
edcfab99a7 qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in tSirSmeGetWPSPBCSessionsReq
Replace tSirMacAddr with cdf_mac_addr in tSirSmeGetWPSPBCSessionsReq.

Change-Id: I675907f2408b74e580fb9c5364e4ad1030e79736
CRs-Fixed: 898864
2015-12-28 22:20:27 -08:00
Srinivas Girigowda
aab80e7298 qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in tSirWPSPBCProbeReq
Replace tSirMacAddr with cdf_mac_addr in tSirWPSPBCProbeReq.

Change-Id: I7f465505aceaf420172635b9b21e57fc1e1d51ae
CRs-Fixed: 898864
2015-12-28 22:20:27 -08:00
Srinivas Girigowda
d6673be8d7 qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in tSirSmeProbeReqInd
Replace tSirMacAddr with cdf_mac_addr in tSirSmeProbeReqInd.

Change-Id: Ic9004fa301d196e684b1534a225a878f0df562a3
CRs-Fixed: 898864
2015-12-28 22:20:27 -08:00
Srinivas Girigowda
eba9ca5cb2 qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in tSirUpdateAPWPARSNIEsReq
Replace tSirMacAddr with cdf_mac_addr in tSirUpdateAPWPARSNIEsReq.

Change-Id: I4ea2e5fb65157a1760e81dcf3bbaad0821ce71e0
CRs-Fixed: 898864
2015-12-28 22:20:27 -08:00
Srinivas Girigowda
b084b55cf1 qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in tSirHostOffloadReq
Replace tSirMacAddr with cdf_mac_addr in tSirHostOffloadReq.

Change-Id: I94c7eace8e49f6e5a83e3d58d7ee3250c8100c0f
CRs-Fixed: 898864
2015-12-28 22:20:27 -08:00
Srinivas Girigowda
9c330a9063 qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in tSirKeepAliveReq
Replace tSirMacAddr with cdf_mac_addr in tSirKeepAliveReq.

Change-Id: Id7184f0acfba870c2f17b9d2dd76015687eb06b2
CRs-Fixed: 898864
2015-12-28 22:20:27 -08:00
Srinivas Girigowda
0420991d02 qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in tSirAppTypeParams
Replace tSirMacAddr with cdf_mac_addr in tSirAppTypeParams

Change-Id: I4629ab11d8014eae6ba27b24362b9253be1606b7
CRs-Fixed: 898864
2015-12-28 22:20:27 -08:00
Srinivas Girigowda
b053239279 qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in struct roam_ext_params
Replace tSirMacAddr with cdf_mac_addr in struct roam_ext_params

Change-Id: I54abd74a93abdfee4a8eb413de78b939a07b97e7
CRs-Fixed: 898864
2015-12-28 22:20:27 -08:00
Srinivas Girigowda
198b203c98 qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in roam_offload_synch_ind
Replace tSirMacAddr with cdf_mac_addr in roam_offload_synch_ind.

Change-Id: I953b089391f00ff2108e1f311a33d50aca724409
CRs-Fixed: 898864
2015-12-28 22:20:27 -08:00
Srinivas Girigowda
730ae9836c qcacld-3.0: Remove #ifndef block of FEATURE_WLAN_ESE_UPLOAD
At present and going forward ESE and ESE_UPLOAD will be the
de-facto approach of supporting ESE.
There is no support for #ifndef FEATURE_WLAN_ESE_UPLOAD block of code.
Hence clean up this code.

Change-Id: I1e1307ec3430353496b1cf7aaa2eb5291ca1d5b2
CRs-Fixed: 949634
2015-12-28 22:20:27 -08:00
Srinivas Girigowda
c79a7106b0 qcacld-3.0: Remove obsolete macros and functions
Remove obsolete macros and functions.

Change-Id: I18e3ba1ec3a38a0f1dfa2de70955f0af02bef37f
CRs-Fixed: 898864
2015-12-28 22:20:26 -08:00
Srinivas Girigowda
aeb842465a qcacld-3.0: Remove obsolete lim_cleanup_lmm()
Remove obsolete lim_cleanup_lmm().

Change-Id: I981c80bcd2f8b2a6755977423df80660036e9bb8
CRs-Fixed: 898864
2015-12-28 22:20:26 -08:00
Naveen Rawat
b14cab349f qcacld-3.0: Clear txSTBC capab if number of tx streams is less than 2
Currently tx STBC param sent to FW is taken from peer's response frame, which
is wrong if current hardware does not support 2x2 for given channel width.
Update the driver to check number of tx stream for current vdev and clear txSTBC
if needed.

Change-Id: If05e5de72ba5af95b343817d811db0f413493ee1
CRs-Fixed: 941217
2015-12-28 22:20:26 -08:00
Masti, Narayanraddi
605b536d10 qcacld-3.0: Fix SAP to not send Assoc Rsp for duplicate Assoc Req
qcacld-2.0 to qcacld-3.0 propagation

Fix soft AP to not send Assoc response for Assoc req which is
unprotected and initiated by an injector rather than a testbed
station.
If STAUT sends duplicate Assoc request, Assoc response should
be sent only in case of non-PMF connection.

Change-Id: I6fb4c139af333c937e767cb111df4d1d69bddbd9
CRs-Fixed: 902969
2015-12-28 22:20:26 -08:00
Sandeep Puligilla
ee029ad052 qcacld-3.0: BT AMP Cleanup in CSR
Remove unused BT AMP code from CSR module

Change-Id: I12ee3940ed8b9b4f50faffbed4ad949730cb1297
CRs-Fixed: 926965
2015-12-28 22:20:26 -08:00
Krishna Kumaar Natarajan
22b59a7689 qcacld-3.0: Add configuration option for mpdu density
qcacld-2.0 to qcacld-3.0 propagation

Add configuration option for mpdu density through INI. Update
the default value of mpdu density from 0 to 7.

Change-Id: Ib97869d4aec160065c945cd62876d6fd191d63a5
CRs-Fixed: 941182
2015-12-28 22:20:26 -08:00
Kabilan Kannan
2ccd9e6c57 qcacld-3.0: Change TDLS default teardown parameters
qcacld-2.0 to qcacld-3.0 propagation.

Current TDLS default teardown interval does not work in
all the scenarios. Hence, change the default teadown
interval to 5 seconds and default TDLS idle packet
threshold to 3 to support all TDLS use cases.

Change-Id: Idf8b4cd02963d24350a1322ac4c7465fbfc7204f
CRs-Fixed: 936003
2015-12-28 22:20:26 -08:00
Kabilan Kannan
421714b6c6 qcacld-3.0: Configure TDLS peer mac and kickout threshold to target
qcacld-2.0 to qcacld-3.0 propagation.

Add new TDLS mode for TDLS external control operation to
achieve power save on the target. Firmware will use this mode
to control timers precisely and save the power.
Add configuration "gTDLSPeerKickoutThreshold" to fine tune
TDLS peer sta kick out operation.

Change-Id: Ie941f93b54983ca6323ef4384a66e0807a56a7b1
CRs-Fixed: 929749
2015-12-28 22:20:26 -08:00
Kabilan Kannan
ca670be788 qcacld-3.0: Pass TDLS teardown notification interval to target
qcacld-2.0 to qcacld-3.0 propagation.

Firmware uses same notification interval to send trigger to the
driver for both TDLS setup and TDLS teardown operations. In ideal
scenario firmware needs to have an option to configure different
values for TDLS setup and TDLS tear down operations. This change
will enable firmware to have different values for setup and
teardown operations.

Change-Id: I300350c56d4ef23993953338529f29df2ea122a1
CRs-Fixed: 920835
2015-12-28 22:20:26 -08:00
Jeff Johnson
417af557d1 qcacld-3.0: Convert wlan_hdd_green_ap.c to unified logging
Currently the HDD code uses a variety of logging APIs.  In qcacld-3.0
HDD should converge on a unified set of logging APIs.  Update
wlan_hdd_green_ap.c to use the unified set of APIs.

Change-Id: If58683a833b1650a6cbea147debcead2551697da
CRs-Fixed: 937202
2015-12-28 22:20:26 -08:00
Rajeev Kumar
321a19ac35 qcacld-3.0: Enable athdiag debug support for SNOC devices
- Athdiag debug support is enabled for PCIe devices but disabled
  for integrated SNOC devices like iHelium.
- Enable athdiag debug feature support for SNOC devices as well.

Change-Id: I73ce74286bf59147e45868e424de4ee1bc858ca0
CRs-Fixed: 948890
2015-12-28 22:20:26 -08:00
Rajeev Kumar
1bcfd63412 qcacld-3.0: Remove support of power gating parameters
Propagation from qcacld-2.0 to qcacld-3.0

- WLAN firmware does not support get/set operations for power
  gating VDEV parameters
- Remove support for power gating VDEV parameters from WLAN host
  driver

Change-Id: I5b262b71364c11f648b579a8bdb6fa993ecb4a81
CRs-Fixed: 880180
2015-12-28 22:20:25 -08:00
Abhishek Singh
daff59fc23 qcacld-3.0: Add log in vos_mem_alloc if kzalloc takes more than 3 seconds
qcacld-2.0 to qcacld-3.0 propagation

Sometime the thread sleeps in kzalloc for long time, resulting in
thread stuck.

This change prints time taken by kzalloc, if time taken is more
than 3 seconds.

Change-Id: I027ab2ad4e93f8a02ba9e48e47d7aa3123785a31
CRs-Fixed: 926479
2015-12-28 22:20:25 -08:00
Abhishek Singh
c12479078c qcacld-3.0: Lower the log level for unhandled Action frame logs
qcacld-2.0 to qcacld-3.0 propagation

Too many log prints are seen by default if unhandled action frame
are received.

This change lowers the log level for unhandled Action frame logs.

Change-Id: I4af258eed12c2f352f97df0f73e9ab0c6278a437
CRs-Fixed: 924661
2015-12-28 22:20:25 -08:00
Abhishek Singh
b7b2a3b712 qcacld-3.0: Add disconnect to the head of sme pending command list
qcacld-2.0 to qcacld-3.0 propagation

If connect is received and queued to sme pending list while scan
is in progress in sme, once scan is completed, again scan is
queued to get the scanned channel info with reason
eCsrScanGetScanChnInfo behind connect command.

Connect is executed next with scan command in pending queue.
Now if disconnect is received from hdd it is also queued in sme
pending cmd list behind scan.

Once connect is executed the wait for key state is set and wait
key timer is started. As only disconnect and set key command are
allowed in wait for key state, the pending cmd queue is not
executed with scan command at the head and thus the disconnect is
not executed. Also as supplicant has issued disconnect, no keys
will be set and pending command queue will not be processed till
wait for key timer expires.

If during this time unload starts all the commands including the
disconnect command sme pending queue are flushed and thus no
DEL BSS is sent to firmware before HAL STOP which leads to crash.
To avoid this add disconnect to the head of sme pending command
list so that disconnect can be processed after connect during
wait for key state.

Change-Id: I333e7b103ac10e368d34b5bf8b87cc360650cd50
CRs-Fixed: 930713
2015-12-28 22:20:25 -08:00
Satish Singh
82d8528bed Release 5.0.0.149 QCACLD3 WLAN Driver
Release 5.0.0.149 QCACLD3 WLAN Driver

Change-Id: I780e387e2df3e2b5f64cf193c81624efab4e92cd
CRs-Fixed: 688141
2015-12-28 14:23:23 -08:00
Houston Hoffman
5998d5f66d qcacld-3.0: Enable emergency reaping for wmi pipe.
Since management frames have been added to the wmi pipe,
the wmi pipe may fill up before the driver schedules the
tx completion processing.

Make tx completion processing use the DDR ce index to
avoid register access durring reaping.

Change-Id: I213aa0274d3c66e583bcdb700ced1133c2c30ebc
CRs-Fixed: 945831
2015-12-28 14:20:47 -08:00
Manjunathappa Prakash
c2425a6116 qcacld-3.0: add retry logic if htc_issue_packets fails
Fix WMI command path Tx failure case:
1) Current WMI command path frees the packet with dummy completion when hif
   fails to send the packet down. Fix it by putting back cmd to endpoint
   Tx queue for retry.
2) Also separate WMI mgmt command/event log buffer from control path
   command logs

Change-Id: Icc3f7fde10a592de3c5354ba720d6810ce1b635a
CRs-Fixed: 940100
2015-12-28 14:20:47 -08:00
Nirav Shah
f2e3637e64 qcacld-3.0: Ignore HTT_T2H_MSG_TYPE_MGMT_TX_COMPL_IND from FW
Ignore HTT_T2H_MSG_TYPE_MGMT_TX_COMPL_IND from firmware if
management over WMI is enabled.

Change-Id: Ic196d17526c251ae26dd59ca2f42b7bff9a46ffe
CRs-Fixed: 949946
2015-12-28 14:20:47 -08:00