Commit Graph

429 Commits

Author SHA1 Message Date
Srinivas Girigowda
c52474ded0 qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in tSirSetHT2040Mode
Replace tSirMacAddr with cdf_mac_addr in tSirSetHT2040Mode.

Change-Id: I802cd0353e6a6408f911ccf26a80b938be8a6e48
CRs-Fixed: 898864
2016-02-08 15:50:36 -08:00
Sushant Kaushik
b50010fbd7 qcacld-3.0: Fix static analysis error in limProcessTdls.c
qcacld-2.0 to qcacld-3.0 propagation

Currently while populating 11a and 11b rates, there is
no bound check for rateset array. This can result in buffer
overflow. As a part of fix add bound check to avoid any
buffer overflow for the rateset.

CRs-fixed: 798054
Change-Id: Ib42f5de642ad54d5c2a1ccdab37d88928b98af01
2016-02-08 15:50:36 -08:00
Yuanyuan Liu
edcbc30ce9 qcacld-3.0: Add support of setting FW debug mode
FW needs the debug mode from WLAN INI file. After parsing INI file,
WLAN driver passes the mode value to platform driver, which uses
QMI message to exchange information with FW.

Change-Id: Ifd01b18bcfafad2344196d80ab17c605cca35972
CRs-Fixed: 942237
2016-02-08 15:50:36 -08:00
Naveen Rawat
14298b94a9 qcacld-3.0: For LFR 3, save reassoc frame sent OTA by firmware
In LFR3 reassoc frame is sent by firmware and host or supplicant is not aware
of its content. Because of this supplicant does not have complete information
to perform EAP exchange with authenticator if fresh EAP exchange is requested.
To fix this:
1) Take the reassoc req frame passed by firmware and save that to pe session
   This frame will then be passed to supplicant through usual path.
2) In case of FT connection, do not pass key replay counter attribute to
   supplicant.

Change-Id: I51dd8004c910b45c7f25e9cd140448e592b096b3
CRs-Fixed: 943711
2016-02-08 15:50:36 -08:00
Naveen Rawat
d1cee1208c qcacld-3.0: Fix rrm capability update from config ini file
Get rrm capab from mac_ctx in function sme_get_config_param().

This ensures that subsequent calls to this function will correctly
update rrm config.

Change-Id: Iddaae66b94ccaa127f08fd0a897bc986a959a0eb
CRs-Fixed: 955114
2016-02-08 15:50:36 -08:00
Naveen Rawat
16b8287816 qcacld-3.0: Move 5GHz channels ahead of 2 GHz for Early Stop
In case prefer 5 GHz preference is set, move the 5GHz channels ahead
of 2GHz channels in channel list as used in Early Stop Roaming Scan
feature. This ensures that while roaming, when these features are
enabled DUT will scan 5 GHz channels first and roam if a candidate
AP is found.

Change-Id: I96d997560a3eca5fd378aa3ed78c5766d097cafd
CRs-Fixed: 951959
2016-02-08 15:50:36 -08:00
Houston Hoffman
2ab3f43df1 qcacld-3.0: Recheck firmware indicator register after enabling interrupts
qcacld-2.0 to qcacld-3.0 propagation

We suspect that the firmware indicator interrupt is being dropped when
the firmware indicator interrupt is disabled.  Check the firmware indicator
after reenabling the firmware indicator interrupt.

Change-Id: I600bd9dfae99ab96dfaf7e3448cef9128f8b7357
CRs-Fixed: 925315
2016-02-08 15:50:35 -08:00
Houston Hoffman
6710de643f qcacld-3.0: completion_freeq_lock needs initialization
Initialization of completion_freeq_lock was removed as part of
removing the completion thread.  The lock still protects the
variable num_sends_allowed for copy engines used for sending.

Change-Id: Ia52d2c1b839d2ccfedbd175f1b8f60f953d08203
CRs-Fixed: 951563
2016-02-08 15:50:35 -08:00
Houston Hoffman
c9f2a429a0 qcacld-3.0: Record polled completion processing
Since the wmi tx copy engine's completions can be
processed in both its tasklet context and through
ce_per_engine_servicereap on a polled basis, we
wish to be able to distinguish the when each is used.

Change-Id: I5892eeeab4e1c7e4c35b958d98db7ad0293ec24f
CRs-Fixed: 951569
2016-02-08 15:50:35 -08:00
Houston Hoffman
d93b804d66 qcacld-3.0: Make ce_init_ce_desc_event_log not static
Fix a compilation error for perfbuild.

Change-Id: I26950eddb8c0f0835cf1faf145f7997a601f2339
CRs-Fixed: 955059
2016-02-08 15:50:35 -08:00
Vidyullatha Kanchanapally
dcd3b5a3a2 qcacld-3.0: Post message to SME upon DelBSS/DelSta failure
qcacld-2.0 to qcacld-3.0 propagation.

This fix ensures that a response message is sent back to SME if
a DelBSS/DelSta failure is returned by firmware, without which SME
command can get stuck.

Change-Id: I42425809ef93d447af0b34aee05e601e30a18ccc
CRs-Fixed: 810491
2016-02-08 15:50:35 -08:00
Ryan Hsu
cb118cf9df qcacld-3.0: hdd: Add EGAP interface and ini configuration
qcacld-2.0 to qcacld-3.0 propagation

This change introduces 4 ini parameters to configure to firmware
    - gEenableEGAP:   forcely overwrite firmware feature capb
    - gEGAPInactTime: inactivity timeout value
    - gEGAPWaitTime:  wait timeout value before enter EGAP mode
    - gEGAPFeatures:  the feature flag firmware would support
        WMI_AP_PS_EGAP_F_ENABLE_PHYERR_DETECTION       0x1
        WMI_AP_PS_EGAP_F_ENABLE_PWRSAVE_BY_PS_STATE    0x2
        WMI_AP_PS_EGAP_F_ENABLE_PWRSAVE_BY_INACTIVITY  0x4

Integrate the hdd_wlan_kick_green_ap to execute the Green AP
and EGAP features, depending on the ini and also the tgt_cfg
capability flag,

Change-Id: Ic5db3990aa0a028ed700f6e2f60a11e75c0f1ed1
CRs-fixed: 929063
2016-02-08 15:50:35 -08:00
Ryan Hsu
3c8f79f22c qcacld-3.0: Add Enhanced Green AP interfaces and event handler
qcacld-2.0 to qcacld-3.0 propagation

The firmware reports the Enhanced Green AP (EGAP) service
(EGAP_SERVICE) feature flag to indicate the support of EGAP
feature.

The EGAP is to offload the legacy Green AP feature to firmware
in order to aggressively enable the Green AP other than wait
for host control latency.

Add the knob to hold the EGAP infomation when firmware support
it, also populate the information up to hdd target config.

And then add a SME interface to allow hdd layer to configure
the EGAP configuration.

Change-Id: I9be927369e7cf07731f8e9ba49d65224e05c340b
CRs-fixed: 929063
2016-02-08 15:50:35 -08:00
Deepak Dhamdhere
ecce974317 qcacld-3.0: Remove #ifdef FEATURE_WLAN_LFR from SME
The condition #ifdef WLAN_FEATURE_LFR is used to include some of
the roaming code. It has been defined for all the recent driver
builds. Roaming code underneath is permanent part of the driver.
Remove #ifdef FEATURE_WLAN_LFR compiler flag from SME so that the code
will always be compiled in.

CRs-Fixed: 936683
Change-Id: I86b9e3dee6b92c89a54de6df769800c31fc3ad17
2016-02-08 15:50:35 -08:00
Deepak Dhamdhere
42b5c11dd8 qcacld-3.0: Remove #ifdef WLAN_FEATURE_NEIGHBOR_ROAMING from SME
The condition #ifdef WLAN_FEATURE_NEIGHBOR_ROAMING is used to include
some of the roaming code. It has been defined for all the recent driver
builds. Roaming code underneath is permanent part of the driver.

Remove #ifdef WLAN_FEATURE_NEIGHBOR_ROAMING compiler flag from SME
and CSR so that the code will always be compiled in.

CRs-Fixed: 936683
Change-Id: I63a43b7cfd9360341d4ac4126cbf9fc8ac89071a
2016-02-08 15:50:35 -08:00
Deepak Dhamdhere
9d1615c29b qcacld-3.0: Remove #ifdef WLAN_FEATURE_NEIGHBOR_ROAMING from HDD
The condition #ifdef WLAN_FEATURE_NEIGHBOR_ROAMING is used to include
some of the roaming code. It has been defined for all the recent driver
builds. Roaming code underneath is permanent part of the driver.

Remove #ifdef WLAN_FEATURE_NEIGHBOR_ROAMING compiler flag from HDD so
that the code will always be compiled in.

CRs-Fixed: 936683
Change-Id: I777d48f26aea36383747281bd4fef2eadc7beefb
2016-02-08 15:50:35 -08:00
Abhishek Singh
e068085f29 qcacld-3.0: Delete preauth session in case of deauth from host
qcacld-2.0 to qcacld-3.0 propagation

The preauth session is not deleted if the deauth is from host
(eCsrForcedDeauth).
Adds the check to delete the preauth session and stop the
preAuthReassocIntvlTimer timer, in case of deauth from host.

Change-Id: I181344b0f3a41ff5c3a77f30b4c8cf80557c23b5
CRs-fixed: 649521
2016-02-08 15:50:35 -08:00
Ganesh Kondabattini
59a4a9597f qcacld-3.0: set TX_USAGE flag for bss key in AP mode.
qcacld-2.0 to qcacld-3.0 propagation

Set TX_USAGE flag for default key (BSS key) when using WEP40 or
WEP140 encryption in AP mode.

Change-Id: Icb4411410d84b05a47f193ffbd632445f736246e
CRs-Fixed: 940725
2016-02-08 15:50:35 -08:00
Abhishek Singh
1e39fc24ee qcacld-3.0: If RSN IE is present ignore WPA IE to get cbmode
qcacld-2.0 to qcacld-3.0 propagation

if AP has RSN IE and supports AES, driver goes on to check
WPA IE and if it contains only TKIP in unicast cipher, it
sets cbmode to 0 (20Mhz).
Added a check to ignore the WPA IE if RSN IE is present and take
decision on cbmode with respect to RSN IE only.

Change-Id: I4eaf8a2d6a9f3a43e74e606045af995fbaa800ad
CRs-Fixed: 739345
2016-02-08 15:50:35 -08:00
Sreelakshmi Konamki
3b8ba61288 qcacld-3.0: Make data length as zero whenever we free the data
qcacld-2.0 to qcacld-3.0 propagation

In limSendSmeJoinReassocRsp API, assoc req, assoc rsp, ricData, tspecIes
are sent to SME layer if corresponding pointer in psessionEntry is
not NULL. There is bug here where the pointer is NULL but the length is
non zero. Because of this data is copied at incorrect offset and data
at SME layer is not at right offset leading to corrupted IE in
next re-assoc request.

Fix this by making length as zero whenever we free the data.

Change-Id: I4ba4ff49e56bc2f2758d869eae8ff9370b0c0489
CRs-Fixed: 932712
2016-02-08 15:50:34 -08:00
Ganesh Kondabattini
d6641d8473 qcacld-3.0: Transmit tdls mgmt frames only for STA in authenticated state
qcacld-2.0 to qcacld-3.0 propagation

Before transmitting the tdls mgmt frames the STA should be
connected to AP and it should be in authenticated state.

Change-Id: Id79d4e6ad55a6b80e2fac2369f48bedf6551bcd6
CRs-Fixed: 893784
2016-02-08 15:50:34 -08:00
Sreelakshmi Konamki
c88f537ccb qcacld-3.0: Add missing MTRACE log in HDD
qcacld-2.0 to qcacld-3.0 propagation

Currently, MTRACE logs are not captured for the events posted
from SME to HDD. So, add missing MTRACE log in hdd_smeRoamCallback()
and also add missing eRoamCmdStatus enums in get_eRoamCmdStatus_str().

Change-Id: I26ef8c651b7b873939341b643056ff977a40ea19
CRs-Fixed: 855875
2016-02-08 15:50:34 -08:00
Sreelakshmi Konamki
39acb13377 qcacld-3.0: Changes in Protocol Stack logs from numerical values to string
qcacld-2.0 to qcacld-3.0 propagation

As a part of logging enhancement,to make logs more
interactive, changed pmcstate,scanType etc from
numerical values to human readable string in
Protocol stack.

Change-Id: I589088c2c5fd0afa106a1d0773a2ff525b0dd083
CRs-Fixed: 638916
2016-02-08 15:50:34 -08:00
Sushant Kaushik
465560671b qcacld-3.0: Set peer staId for management frame.
qcacld-2.0 to qcacld-3.0 propagation

Currently for sta mode while sending management
frames such as auth, assoc, reasssoc,deauth,
diassoc driver sends selfStaId. This results
in frames going on the air with the self data
rate and not the data rate supported by peer.
As a part of fix, make sure that the peerStaId is
used for sending above management frames.

Change-Id: Ia368ff13aed1002600f5fb3ad55c3d20106d586a
CRs-Fixed: 826260
2016-02-08 15:50:34 -08:00
Abhishek Singh
96bda8e0e3 qcacld-3.0: Do not send DEL BSS to FW if ADD BSS fails
qcacld-2.0 to qcacld-3.0 propagation

Even though ADD_BSS fails the driver tries to send DEL BSS to
firmware which will crash upon receiving DEL BSS.

To avoid this crash do not send DEL BSS to Firmware if ADD BSS
fails and just do cleanup.

Change-Id: Ieabf241c8277ae76bb5f491f9d8a2b783d8ea47e
CRs-Fixed: 929249
2016-02-08 15:50:34 -08:00
Vidyullatha Kanchanapally
3554e4e25f qcacld-3.0: Error handling in Roaming code #2
Qcacld-2.0 to qcacld-3.0 propagation.

This fix contains the following changes
1. Ensure rx mgmt packet is freed in all cases.
2. Fail preauth if the pre-auth response timer
   failed to start.
3. Correct some logging and remove unnecessary code.

Change-Id: Icd3a12ba8878de5bad7ff1125ba8be123dfae4eb
CRs-Fixed: 808756
2016-02-08 15:50:34 -08:00
Krishna Kumaar Natarajan
03cc3860e6 qcacld-3.0: Check for session validity in pe_delete_session
Check if PE session passed to pe_delete_session is valid
before proceeding with the deletion.

Change-Id: Icfe54e8bc286f14ea757b0619c067cc74ce87492
CRs-Fixed: 948924
2016-02-08 15:50:34 -08:00
Krishna Kumaar Natarajan
48de7dedc8 qcacld-3.0: Initialize PMF timer in create session
Initialize PMF comeback timer in PE create session.

Currenlty PMF comeback timer is initialized in join request and
destroyed in delete session. In offload cases, PE session is
created without join request resulting in destruction of timer
which was not initialized. Add timer initialization in
pe_create_session.

Change-Id: I3dba6713b2bf64cc69f0f2d8322293ff763c0989
CRs-Fixed: 948924
2016-02-08 15:50:34 -08:00
Kiran Kumar Lokere
37d3aa2c93 qcacld-3.0: Log the rssi info from FW in sta kick out event
qcacld-2.0 to qcacld-3.0 propagation.

Log the RSSI info of the disconnect if the STA disconnection is
due to STA kick out event from FW.

Change-Id: I0fad3f8d0e7990f4211b7840bed7605a4b97f3cb
CRs-Fixed: 874197
2016-02-08 15:50:34 -08:00
Krishna Kumaar Natarajan
4d090352a5 qcacld-3.0: Check tdls off-channel passed is not a DFS channel
qcacld-2.0 to qcacld-3.0 propagation

Add check to validate if non-DFS channel is passed as
TDLS off channel via driver command and INI config.

Change-Id: I6696c47d438bdcc1b8733241e60ca5c52fb1022f
CRs-Fixed: 915972
2016-02-08 15:50:34 -08:00
Kiran Kumar Lokere
a3e5e0b538 qcacld-3.0: do not process HT IE change if RoC is in progress
qcacld-2.0 to qcacld-3.0 propagation.

Ignore HT IE change if RoC is in progress because as
part of HT IE change we will try to change the channel
parameters which use the same callback as RoC. So if
we try to change the channel parameters if RoC is in
progress we will overwrite the callback causing problems
in the upper layers which are expecting a notification.

Change-Id: I6bace6dd2bd40728ece94e3efe59f3e7038a4e6a
CRs-Fixed: 710027
2016-02-08 15:50:34 -08:00
Jeff Johnson
d399e90f96 qcacld-3.0: Relocate key adapter fields
This is a qcacld-2.0 to qcacld-3.0 propagation.

A crash was observed internally where wlan_hdd_ipv6_changed() was
accessing unmapped memory.  This function has logic which looks at key
fields in the netdev's private data area to make sure the netdev
belongs to this driver before it further utilizes the netdev.  The
problem with this logic is when it is invoked with non-wlan netdevs,
if those netdevs were created with small private data areas, then the
offsets at which the key fields would exist in the wlan netdev may
fall outside the memory mapped for those other netdevs.  In order to
avoid accessing unmapped memory in those cases, relocate the key wlan
netdev fields to the beginning of the wlan adapter structure.

Change-Id: Idb830fd18e5724a684505c9d110f6f1de5622eac
CRs-Fixed: 946373
2016-02-08 15:50:34 -08:00
Jeff Johnson
19caeb103e qcacld-3.0: Relocate init of tx_action_cnf_event
HDD has a completion variable which is used to synchronize the sending
of an action frame with the send confirmation.  Proper use of a
completion variable requires a specific sequence of steps:
- Initialize the completion variable
- Perform the activity that has asynchronous processing
- Wait on the completion variable

Currently HDD does not correctly follow this model for sending action
frames; it incorrectly initializes the completion variable after it
has invoked the UMAC function which sends the frame.  This creates a
race condition whereby the TX could complete and set the completion
variable before the completion variable is initialized, and then when
the completion variable is initialized the fact that the activity has
already completed will be lost.

In order to prevent this race condition and conform to the sequence of
steps required for proper completion variable usage, relocate the
initialization of tx_action_cnf_event.

Change-Id: Ibc54b8dd62c3a828d1a43922d89e7970af325f6e
CRs-Fixed: 950132
2016-02-08 15:50:34 -08:00
Jeff Johnson
f6358f1060 qcacld-3.0: Remove OEM DATA request callback support
qcacld-2.0 to qcacld-3.0 propagation.

The SME OEM DATA request API supports a callback function pointer,
however this callback functionality is obsolete.  Therefore remove
this functionality.

Change-Id: Id06910841ad625412ba1f3222407e471f4d7edd7
CRs-Fixed: 911404
2016-02-08 15:50:34 -08:00
Chandrasekaran, Manishekar
34e325a210 qcacld-3.0: Remove usage of fixed broadcast sta id for IBSS
Remove the usage of fixed broadcast sta id of 1 for IBSS.
Fixed broadcast std id of 1 was getting used for IBSS since
no concurrency was supported for IBSS earlier and sta id 1
was always used as broadcast sta id. Now with concurrency
being allowed with IBSS, this fixed broadcast sta id cannot
be used. Make the broadcast sta id dynamic.

Change-Id: I79222e276fbdd41a8938a3a26e58af9335f17ade
CRs-Fixed: 953523
2016-02-08 15:50:34 -08:00
Chandrasekaran, Manishekar
12a818a9a6 qcacld-3.0: Wait for MC thread clean-up during IBSS leave
Ensure that wait for MC thread clean-up happens as part
of IBSS leave so that by the time upper stack calls the
change interface, we are all set to proceed further.

CRs-Fixed: 949956
Change-Id: Ib0ee79fe38cbf3c462bd8157c4e014c086f5c29f
2016-02-08 15:50:34 -08:00
Krunal Soni
95a6dbc2a7 qcacld-3.0: Don't remove p2p device adapter when SAP comes up
With current code, as soon as change interface command comes to
convert interface type to AP, it removes p2p device adapter which
is not required. In new platform, various concurrencies are supported
which includes SAP+GO, SAP+STA+GO, and so on. To make these
concurrencies work properly, no longer remove the p2p device adapter
when SAP comes up.

Change-Id: Icb1729f25e0604e0c342a136d9b4cf332e50d7c8
CRs-Fixed: 953788
2016-02-08 15:50:34 -08:00
Krunal Soni
80aabd4583 qcacld-3.0: Do not allow STA scan on IBSS channel's band
As per the requirement when IBSS connection co-exist with STA
connection and scan request is coming from STA adapter,
don't include those channels which fall in same band as IBSS
channel's band.

Change-Id: Ifb42ea6b463bd5020bf544eee504b9c3ceefcfc2
CRs-Fixed: 953788
2016-02-08 15:50:34 -08:00
Tushnim Bhattacharyya
da030cbca6 qcacld-3.0: dump IBSS concurrency information
Dump IBSS related concurrency information

Change-Id: Id69bfa3681f38f9af376590f6bcc668f146ed9e8
CRs-fixed: 941652
2016-02-08 15:50:34 -08:00
Krunal Soni
7bc4f912e9 qcacld-3.0: Add support for IBSS+SAP
Provide necessary code changes to support IBSS+SAP concurrency for
emulation platform only.

Change-Id: I76dc023bd48ee79ba706f5a7009b1d8462c6b712
CRs-Fixed: 953796
2016-02-08 15:50:33 -08:00
Krunal Soni
2c68f23ccc qcacld-3.0: add support for IBSS+STA concurrency
Make necessary changes to support IBSS+STA concurrency for SCC and
2G+5G MCC. Don't support intraband MCC due to known limitation
for this specific concurrency.

Change-Id: I325b5f51abeee3da0a75f90723c8b882f71dbef2
CRs-Fixed: 953788
2016-02-08 15:50:33 -08:00
Satish Singh
64740919bf Release 5.0.0.152
Release 5.0.0.152

Change-Id: I5fbaf62af2831499f39274f3ffdad0979b467d68
CRs-Fixed: 688141
2016-02-08 15:50:33 -08:00
Satish Singh
e7f774d4da Release 5.0.0.151 QCACLD3 WLAN Driver
Release 5.0.0.151 QCACLD3 WLAN Driver

Change-Id: Icc3cf83583f5131f01f9ef7a0265409af71c06d0
CRs-Fixed: 688141
2016-02-08 15:29:50 -08:00
Mukul Sharma
a748fbb77b qcacld-3.0: while processing rx mgmt frame get vdev using bssid
During processing of rx mgmt frame, host try to get the
vdev using destination address but for BC frame it can't
find the vdev and iface too, so desired functionality will
not work.

As a part of this fix, host is getting vdev using bssid.

Change-Id: I52884faffc8c5fc8c2f9dcb4308e6f0739f80fe7
CRs-Fixed: 945583
2016-02-08 15:29:46 -08:00
Kiran Kumar Lokere
92d11bf978 qcacld-3.0: Fix the Rx data rate issue in 11b mode
Check for VHT caps in vendor specific IE only if the dot11mode
is set to 11ac or auto, so that the vht caps are included in
association reuest frame only if the dot11 mode is 11ac.

Change-Id: If72117e5a46a754ae602dabd596a2ad8aac33d2e
CRs-Fixed: 952134
2016-02-08 15:29:39 -08:00
Kiran Kumar Lokere
5aeae9a956 qcacld-3.0: Fix the crash in wlan re-initialization
Perform cfg download before the SME config update since the
SME config update operation accesses the cfg database.

Change-Id: Ic2d5b6d192ed164b20011b3eeaea6126951b87e8
CRs-Fixed: 948896
2016-02-08 15:29:35 -08:00
Manikandan Mohan
fba8e0dc26 qcacld-3.0: Add IPA UC WDI 1.0 backward compatibility
Update qcacld-3.0 for IPA UC WDI 1.0 backward compatibility for
Rome WIFI device.

Change-Id: I33084efd6dd3434d1f6baec49de43fab75c63e7f
CRs-fixed: 952114
2016-02-08 15:29:31 -08:00
Manikandan Mohan
22b8372341 qcacld-3.0: Fix MDM compilation errors
Fix compilation errors in MDM features and when compiled against
MDM kernel

Change-Id: Iee8fb5f88bfff22117e087f8879d4caf50a945c1
CRs-fixed: 952116
2016-02-08 15:29:28 -08:00
Jeff Johnson
32ad1749ce qcacld-3.0: Prepare HDD for 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. Due to the large
number of changes required, this will have to be done in a phased
approach, with conversions occurring one source file at a time.

One potential problem that could occur, in the absence of any
protection, is that once a particular source file has been converted
to the unified set of logging APIs, someone could introduce new code,
either as a new feature or as a change propagation from qcacld-2.0,
which re-introduces invocations of legacy logging APIs.  In order to
help prevent this, add conditional compilation to the hddLog() API so
that it will not be available to source files which have been
converted to the unified set of logging APIs.  This will cause a
compilation error if hddLog() is called from source files which have
been converted.

Once all of the source files have been converted, the hddLog() macro
itself can be removed from the source code.

Change-Id: I5debb0eb9cd89c08fdfcc4fc117776160ed34501
CRs-Fixed: 949529
2016-02-08 15:29:22 -08:00
Samuel Ahn
563506ac0f qcacld-3.0: Fix transmitting in OCB mode
qcacld-2.0 to qcacld-3.0 propagation

When transmitting a packet in OCB mode, the station does not need to
be associated to an access point.

CRs-Fixed: 863620
Change-Id: I71b7ad6afa10321a7c7cde597a727bed7454f644
2016-02-08 15:28:11 -08:00
Hanumantha Reddy Pothula
4532302d70 qcacld-3.0: Don't process TX frame in unauthenticated state
qcacld-2.0 to qcacld-3.0 propagation

Process TX frame only when STA state is in Connected state
otherwise drop the frame.

Change-Id: Id384bb4a11bc2783b8017a8b4fac67ba4f708cb5
CRs-Fixed: 778274
2015-12-28 22:35:56 -08:00
Ryan Hsu
6139d2de9d qcacld-3.0: Fix the incorrect mcs rate index conversion
qcacld-2.0 to qcacld-3.0 propagation

Driver would get the tx rate info from firmware and converts it
to mcs index or legacy rate for userspace.

The problem here is when firmware creates a valid ratesets,
it includes all the subset of lower grade rates.
e.g

 - VHT80 would include VHT80/VHT40/VHT20, VHT40 include VHT40/HT20
 - HT40 would include HT40/HT20
 - NSS2 would include NSS2 and NSS1

So that firmware would not only use one rateset, but would use all
other valid rates, the fix is to go through all other possibilities
to make sure the rate look up can find the correct mcs index.

Change-Id: I5df9059b73954951c4adec56002a3eba80915752
CRs-fixed: 936078
2015-12-28 22:35:56 -08:00
Ryan Hsu
d7e6fc7aa6 qcacld-3.0: Clean up inappropriate HDD API in CDS
Clean up the hddLog API and CDF_MODULE_ID_HDD with CDS_TRACE
misused in CDS module.

Change-Id: I786fa1ba216b42a6218f7eadba60ee7e5e82ebe5
CRs-fixed: 948327
2015-12-28 22:35:56 -08:00
Srinivas Girigowda
fe3e5b34cf qcacld-3.0: Process WOW wake up event in the tasklet context
This is a qcacld-2.0 to qcacld-3.0 propagation.

Currently WOW wake up event is processed in work thread which may be
delayed to schedule. Directly complete the event in tasklet in order
to proceed it in time. Also make sure the WOW wake up event handler
is in atomic context.

Change-Id: Ie6015d39321c7759b35f05acc7833ef8974c0157
CRs-Fixed: 900629
2015-12-28 22:35:56 -08:00
Houston Hoffman
dee0d5374c qcacld-3.0: Record CE interrupt and tasklet entry/exit
Record CE interrupt in CE event history since the interrupts
may come separately for the different interrupts.

Change-Id: I269a103054d3ab2015d67370c43f4af598871b8d
CRs-Fixed: 951569
2015-12-28 22:35:56 -08:00
Houston Hoffman
f82c7e880b qcacld-3.0: Record ce descriptor events
qcacld-2.0 to qcacld-3.0 propagation

Record when descriptors are posted to or completed by the copy engine
in SLUB_DEBUG builds.

Change-Id: I78ee028a7a61ffd253092cbb530ce9ec2e5022d3
CRs-Fixed: 938120
2015-12-28 22:35:56 -08:00
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
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