Commit Graph

54 Commits

Author SHA1 Message Date
Gupta, Kapil
e1044069d8 qcacld-3.0: Stop overwriting pnoOffload value with dummy value.
qcacld-2.0 to qcacld-3.0 propagation

Currently tpAniSirGlobal pnoOffload value is initialized with
FW caps first time only and resetting to 0 while starting a bss in
go mode. Existing value of pnoOffload is not retained while
getting config for tSmeConfigParams.

Added changes to retain current value of pnoOffload from
tpAniSirGlobal while getting config for new tSmeConfigParams.

Change-Id: I0eda12ec1c69aeca4465d41f3e3ba96b8e1944cb
CRs-Fixed: 913994
2015-12-28 14:20:43 -08:00
Kiran Kumar Lokere
fa043534bf qcacld-3.0: Fix the issue observed in static code analysis
Fix the issue observed in static code analysis.

Change-Id: I3ec4abc3b51d3b36350e1f2d592ae59a21d8aa62
CRs-Fixed: 928208
2015-12-09 23:21:40 -08:00
Hanumantha Reddy Pothula
589fd70615 qcacld-3.0: Resolve invalid memory access while processing GET STATES IOCTL
qcacld-2.0 to qcacld-3.0 propagation

While processing GET STATES IOCTL, in a while loop, HOST prints PE, LIM
and MLM states of each session. Normally while loading, HOST allocates
memory for five sessions, but while processing this IOCTL, it iterating
in a loop assuming there are 255 sessions allocated, leading to crash
because of invalid memory access.
Hence while printing PE, LIM and MLM states iterate only for allocated
number of sessions.

Change-Id: I29c9a627615a1983d23831578f45aefe116dac25
CRs-Fixed: 879950
2015-12-09 23:21:40 -08:00
Kanchanapally, Vidyullatha
e306281cab qcacld-3.0: Add new vendor command to get link properties
qcacld-2.0 to qcacld-3.0 propagation

Add support in driver for a new vendor command to get
the link properties nss, rate flags and operating
frequency.

Change-Id: Ie3b8d5b2c3886055d303441c5d8b2f2a0a2719bd
CRs-Fixed: 834199
2015-12-09 23:21:40 -08:00
Abhishek Singh
37595beb13 qcacld-3.0: Lower the log level of mtrace to Info to avoid WD bark
qcacld-2.0 to qcacld-3.0 propagation.

Too many log prints are seen if mtrace are dumped and this cause
WD bark.

To avoid this lower the log level of mtrace to Info.

Change-Id: I05d3fa8b3494785a1933f159280b6c9ba6923c0d
CRs-Fixed: 926416
2015-12-09 23:21:40 -08:00
Varun Reddy Yeturu
044bda2e10 qcacld-3.0: Create configuration item gfirst_scan_bucket_threshold
qcacld-2.0 to qcacld-3.0 propagation

Create a configuration item to program the first bucket
threshold of the scan results to have the flexibility to
adjust the first bucket threshold.

CRs-Fixed: 922979
Change-Id: I6fad27a2990f7555173e4735131e8392d0277009
2015-12-09 23:21:39 -08:00
Varun Reddy Yeturu
f76f6de348 qcacld-3.0: Fix Static Analysis Issues
1) Check for bssid if it is NULL, before dereferencing it.
2) Check for hal_ctx if it is NULL, before dereferencing it.

CRs-Fixed: 940721
Change-Id: I836416a4717b15902e8b8f27fa2e5e5e7935c12f
2015-12-09 23:21:39 -08:00
Naveen Rawat
e7d8605471 qcacld-3.0: Increase SME cmd queue to support max clients connected
This is qcacld-2.0 to qcacld-3.0 propagation

Currently in SAP mode, if max STA connected a operation to turn off
SAP will result in more than SME queue length cmds being enqueued.
To fix, this patch:
1) Makes the SME cmd queue length, 3 times the max STA.
2) Because of increased SME cmds, the allocation for all cmds
   together will fail, hence allocate each SME cmd individually
   and free them accordingly.

Change-Id: Ia1dfc5b00eacd9bdb503ce18927c62f1edd15320
CRs-Fixed: 928840
2015-12-09 23:21:38 -08:00
Masti, Narayanraddi
c4a7ab8239 qcacld-4.0: TDLS: provide operating class and channel to HAL
qcacld-2.0 to qcacld-3.0 propagation

1.Provide off channel and operating class info to user space
in HAL API wifi_get_tdls_status. If off channel is not enabled
then provide base channel info and in that case pass opclass as 0.
2.Provide correct tdls state based on tdls off channel
configuration.

Change-Id: Ic60500b95ebddcb88b4e03f29178068c5322b2b9
CRs-Fixed: 838167
2015-12-09 23:21:37 -08:00
Srinivas Girigowda
2e60287b81 qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in tSirTdlsLinkEstablish Req/Rsp
Replace tSirMacAddr with cdf_mac_addr in tSirTdlsLinkEstablish Req/Rsp.

Change-Id: I089e9835e08aa029b25113f260b4ba3088599075
CRs-Fixed: 898864
2015-12-02 12:55:30 -08:00
Srinivas Girigowda
34b634c4d5 qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in sSirModifyIE
Replace tSirMacAddr with cdf_mac_addr in sSirModifyIE.

Change-Id: I36783326eb35bd6c9c4987ae0655b0313f398886
CRs-Fixed: 898864
2015-12-02 12:55:30 -08:00
Srinivas Girigowda
8b98396253 qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in sSirUpdateIE
Replace tSirMacAddr with cdf_mac_addr in sSirUpdateIE.

Change-Id: Id190e74be5063ecd7792380c6f25ba8de1461c51
CRs-Fixed: 898864
2015-12-02 12:55:30 -08:00
Srinivas Girigowda
f2599dd3c6 qcacld-3.0: WLAN logs cleanup
This is a qcacld-2.0 to qcacld-3.0 propagation.

1. Add log to print ssid, bssid, rssi, channel and country code
   while connecting to an AP.
2. Add log to print disconnect reason when disconnect request is
   received from user space.
3. Cleanup some of the logs moving it to appropriate log level
   which are showing up as ERROR level in bug report.

Change-Id: Id8ea69a14a18565c226f89a8a5e10be46741d76d
CRs-Fixed: 914336
2015-12-02 12:55:29 -08:00
Srinivas Girigowda
296105aaad qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in sAniDHCPStopInd
Replace tSirMacAddr with cdf_mac_addr in sAniDHCPStopInd.

Change-Id: I56dfa86947e9711c8727d4e3d025f0f03fc39d3c
CRs-Fixed: 898864
2015-12-02 12:55:29 -08:00
Srinivas Girigowda
4962a56771 qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in sAniGetTsmStatsReq
Replace tSirMacAddr with cdf_mac_addr in sAniGetTsmStatsReq.

Change-Id: I1f98fdfdaddf79af848c927d1443dcf6e52bcb54
CRs-Fixed: 898864
2015-12-02 12:55:29 -08:00
Srinivas Girigowda
37c133b074 qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in sSirSmeMicFailureInd
Replace tSirMacAddr with cdf_mac_addr in sSirSmeMicFailureInd.

Change-Id: I65371e094fc8fb02a400960aca192b5bf7034413
CRs-Fixed: 898864
2015-12-02 12:55:29 -08:00
Srinivas Girigowda
c8b79e4170 qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in sSirSmeTkipCntrMeasReq
Replace tSirMacAddr with cdf_mac_addr in sSirSmeTkipCntrMeasReq.

Change-Id: I404f7b7976b8d3096e9a8963710a019e8671b1fe
CRs-Fixed: 898864
2015-12-02 12:55:29 -08:00
Srinivas Girigowda
40567b94a1 qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in sSirResetAPCapsChange
Replace tSirMacAddr with cdf_mac_addr in sSirResetAPCapsChange.

Change-Id: Ife3e49f1902baafaddf5f304dd423451319f2783
CRs-Fixed: 898864
2015-12-02 12:55:29 -08:00
Srinivas Girigowda
26ebb19c31 qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in sSirSmeApNewCaps
Replace tSirMacAddr with cdf_mac_addr in sSirSmeApNewCaps.

Change-Id: I785b2631e149e44835e2cf53d997673b9c5515c0
CRs-Fixed: 898864
2015-12-02 12:55:29 -08:00
Srinivas Girigowda
065e777947 qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in sSirSmeNewBssInfo
Replace tSirMacAddr with cdf_mac_addr in sSirSmeNewBssInfo.

Change-Id: I5c27589009ee2f517c8a99ed0909c8cb5620293e
CRs-Fixed: 898864
2015-12-02 12:55:28 -08:00
Srinivas Girigowda
0ee6686841 qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in sLimMlmOemDataReq
Replace tSirMacAddr with cdf_mac_addr in sLimMlmOemDataReq.

Change-Id: I4589769f9d875347a4a5c10cd755c931b98fa8f7
CRs-Fixed: 898864
2015-12-02 12:55:28 -08:00
Srinivas Girigowda
9721523f8e qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in sMaxTxPowerParams
Replace tSirMacAddr with cdf_mac_addr in sMaxTxPowerParams.

Change-Id: Ia9f66cfd3a520019a83d671b7869d49558856698
CRs-Fixed: 898864
2015-12-02 12:55:28 -08:00
Srinivas Girigowda
2c6bf00570 qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in sSirSmeScanReq
Replace tSirMacAddr with cdf_mac_addr in sSirSmeScanReq.

Change-Id: I805e32462c89d72bd8a038eaef0379f7b58b33c3
CRs-Fixed: 898864
2015-12-02 12:55:28 -08:00
Srinivas Girigowda
450f716e48 qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in sSirRemainOnChnReq
Replace tSirMacAddr with cdf_mac_addr in sSirRemainOnChnReq.

Change-Id: I75594fc51ae1a82ef08b3e0b43c2a8733387b9af
CRs-Fixed: 898864
2015-12-02 12:55:28 -08:00
Sandeep Puligilla
4f1ae707e7 qcacld-3.0: unlock the sme scan active list
Sme is stuck due to scan active list mutex lock.

Release the sme scan active list lock if the
active list is empty.

Change-Id: Id05c642fe6fad30e40efa18a213158c331b5a502
CRs-Fixed: 943583
2015-12-02 12:55:28 -08:00
Edhar, Mahesh Kumar
5cd1e0eb17 qcacld-3.0: Changes to add supported operating class IE
qcacld-2.0 to qcacld-3.0 propagation

Add supported class IE in beacon and probe response frames.

Change-Id: Ife4cb1b3db0119a9472cad0f861887c487b147d3
CRs-Fixed: 941466
2015-12-02 12:55:28 -08:00
Edhar, Mahesh Kumar
df2ec12f48 qcacld-3.0: Properly handle channel switch through ioctl
qcacld-2.0 to qcacld-3.0 propagation.

1)Validate channel switch w.r.t concurrency rules set and switch
  channel only if there is no channel interference.
2)Disable channel bonding in 2.4Ghz on switching channel to 2.4Ghz band
  to avoid violating OBSS feature.

Change-Id: I81992b2c2876a32eba52010e72c4300608067e58
CRs-Fixed: 809527
2015-12-02 12:55:27 -08:00
mukul sharma
72c8b22a2d qcacld-3.0: Add support for 11w offload feature
This change Adds 11w offload feature, This change includes:

1. SA Query time out Kickout reason handling
2. Add a new service bit map for 11w offload and cache it to pMAc
3. Error logging in following unexpected case
   a) Unprotected deauth / diasssoc from peer AP,
   b) reception of SA query action frame in SAP / STA vde mode
4. Configure sta sa query related parameters as a part of
   sta vdev attach
5. Trim mmie for pmf bcast/mcast mgmt frames

Change-Id: If119e9a79185552e163834f7c6c3a14288fe2761
CRs-Fixed: 931630
2015-11-25 17:26:48 -08:00
Sreelakshmi Konamki
6744cffe00 qcacld-3.0: Add MTRACE logs for missing cfg80211_ops callbacks
qcacld-2.0 to qcacld-3.0 propagation

Currently, MTRACE logs are not captured for few cfg80211_ops callbacks
and SME functions. Add missing MTRACE logs in cfg80211_ops callbacks
before calling SME function and also in few SME functions.

Change-Id: Iced4b80de60f9640cad0342afac57f9a17c2a3e2
CRs-Fixed: 859961
2015-11-25 17:26:47 -08:00
Hanumantha Reddy Pothula
5090805f15 qcacld-3.0: Return NULL if zero is passed as argument to allocate memory
qcacld-2.0 to qcacld-3.0 propagation

While allocating memory if zero is passed as argument then kernel will
return address ZERO_SIZE_PTR(0x10) leading to pass NULL check, which is
usually done after every memory allocation. Hence when zero is passed to
allocate memory then return NULL without calling kmalloc.
While initializing neighbor roam data structure, don't allocate memory
if neighbor roam channel list is empty.

Change-Id: I50bdb99a0cd8ccbc2d764b8ac21f66bba8a8fdc4
CRs-Fixed: 815664
2015-11-25 17:26:46 -08:00
Govind Singh
f139e83f8e qcacld-3.0: clean up of ERROR logs
qcacld-2.0 to qcacld-3.0 propagation

Misleading error logs are removed
as part of this fix

CRs-Fixed: 929840
Change-Id: Ifdc10b79359863a4f3c2009403ee5f6c7ab18110
2015-11-25 17:26:46 -08:00
Mukul Sharma
156278d9b8 qcacld-3.0: prevent double free of ft pre auth response
Propagation qcacld-2.0 to qcacld-3.0

while processing ft pre auth response, if memory allocation fails
then host is not setting psavedFTPreAuthRsp to null. Later sme is
freeing same memory as freeing pMsg->bodyptr. Hence on next
disconnect, sme_FtReset try to free psavedFTPreAuthRsp which is
already free.
As a part of this fix, host ensure to set psavedFTPreAuthRsp
Null in all cases.

Change-Id: I144786cd4206bf273d2ffa63889af109cd2744dd
CRs-Fixed: 916416
2015-11-25 17:26:45 -08:00
Abhishek Singh
518323d9c0 qcacld-3.0: Implement ECSA Action Frame
qcacld-2.0 to qcacld-3.0 propagation.

Implement:
1. Send & receive logic of ECSA action frame from P2P-CLI/GO
2. Trigger channel change on P2P GO side once ECSA action frame
   is received by,
  i) Adding CSA & ESCA IE in beacon template and updating
     FW to send it out
  ii) Notifying supplicant of channel change for P2P GO.

This change include UMAC changes.

CRs-fixed: 895240
Change-Id: Ie6c9154fb44ec75c699e37aaba660c637869c099
2015-11-25 17:26:45 -08:00
Naveen Rawat
cf7d2d56b0 qcacld-3.0: Allow dwell time for PNO scan control through config.ini
This is qcacld-2.0 to qcacld-3.0 propagation

Currently dwell time for PNO scan is passed as 0 to FW irrespective of
values set in config.ini. This patch allows active/passive dwell time
for PNO scan to be controlled by config.ini param.

Change-Id: I5562ed7e176af04ac8f38aa5af97257b9244cdc1
CRs-Fixed: 922054
2015-11-25 17:26:45 -08:00
Naveen Rawat
b4d37620f3 qcacld: Fix layering violation in __wlan_hdd_cfg80211_ocb_start_timing_advert()
This is qcacld-2.0 to qcacld-3.0 propagation

HDD directly calls in to MAC layer function with mac context as one
of the parameters which is a software layering violation.
Fix the issue by introducing a SME api which accepts hal handle as
one of the parameters instead of mac context and call the SME function
from HDD,  which calls the MAC api with correct function parameters.

Change-Id: Iaac4ad7b67b0cb0f7b8b0d08e32904833afad707
CRs-Fixed: 913015
2015-11-25 17:26:45 -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
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
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
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
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
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
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
Chandrasekaran, Manishekar
430ee2ec1f qcacld-3.0: Avoid waiting for SME messages while holding SME global lock
Avoid waiting for SME response messages while holding the SME global
lock. Currently a wait for 500ms happens in cds_handle_conc_multiport
after the holding the SME global lock. Because of this, the set hw mode
response posted by LIM is not processed by SME as SME would be waiting
for the lock.

Change-Id: Ib7890cb7124f5879316f46b1bf9f0ad3fb225665
CRs-Fixed: 939026
2015-11-23 13:09:05 -08:00
Chandrasekaran, Manishekar
0d814c7b3e qcacld-3.0: Move cds_get_bin.c to concurrency management files
cds_get_bin.h and cds_get_bin.c were derived from qcacld-2.0
vos_get_bin.h and vos_get_bin.c.  These files got their names
since at one time they housed the wrappers used to retrieve
binary files nv.bin, cfg.dat, and firmware.  But over time the
functionality to actually retrieve binary files (get_bin) has
been removed, and almost all that is left is concurrency
management functions.  So, moving the .[ch] functionality to
the right files.

CRs-Fixed: 932777
Change-Id: I4a26c304cc6b6224d0839c365e4006fd32270961
2015-11-23 13:09:04 -08:00
Chandrasekaran, Manishekar
78b98265b1 qcacld-3.0: Issue connect immediately if system is in required hw mode
Issue the connect command immediately when the system is already
in the required hw mode. Currently the connect command is issued
immediately only when the concurrent connection update succeeds,
i.e., only when a set hw mode succeeds. But, when the driver is
already in the required hw mode, the return value would not be
success and the connect command is not getting issued immediately.
Fixed this by checking the return value which indicates that the
driver is already in the required hw mode, and issuing the
connect command immediately.

Change-Id: I1ef2adf4d92953f47d36bdae41a9d7d8d559a203
CRs-Fixed: 936268
2015-11-23 13:09:02 -08:00
Varun Reddy Yeturu
f6db67a9a1 qcacld-3.0: Increase the Wait for key timer value
qcacld-2.0 to qcacld-3.0 propagation

The wait for key timer value in the driver should
be greater than that of supplicant.
Hence increasing it to 15 seconds.

CRs-Fixed: 919403
Change-Id: I5d6e8d445ab9dcef73b923595f41564e0a6e3c6e
2015-11-23 13:09:01 -08:00
Varun Reddy Yeturu
062dc74d0d qcacld-3.0: Enable HI_RSSI feature only when connected to 2.4GHz AP
qcacld-2.0 to qcacld-3.0 propagation

1) Enable the feature only when connected to 2.4 GHz AP.
2) Modify the default values to reduce the scans and not impact power

CRs-Fixed: 817919
Change-Id: Idaff886cec558a06cf9341e47a8ce17b348ad72b
2015-11-23 13:09:01 -08:00
Edhar, Mahesh Kumar
394c3543c5 qcacld-3.0: Avoid calling memory allocation function for allocation size 0
qcacld-2.0 to qcacld-3.0 propagation

Currently we are calling memory allocation function to allocate memory for
FT ies even though FT ies length is 0.
Due to above behavior we are seeing unnecessary memory allocation failure
error prints.
Change made to check for FT ies length before calling memory allocation
function.

Change-Id: I3f9ddee1d66f51088526f6d370c83697178be925
CRs-Fixed: 930118
2015-11-23 13:08:11 -08:00
Chandrasekaran, Manishekar
3f6a72c09e qcacld-3.0: Check for concurrency rules before P2P CLI connection
Ensure that concurrency rules are validated before initiating
a P2P CLI connection.

Change-Id: I6ee8d03f2bde9b419391551c0ca988b3672eb089
CRs-Fixed: 935783
2015-11-23 13:08:10 -08:00