Commit Graph

43 Commits

Author SHA1 Message Date
Gupta, Kapil
121bf2115a qcacld-3.0: Support for handling of op class in xcsa action frame
qcacld-2.0 to qcacld-3.0 propagation

Add support to parse operating class from xcsa frame and select
channel bandwidth on basis of new operating class.

Change-Id: I33d794e77220ef82cca793767d459979eb940669
CRs-Fixed: 942104
2015-12-28 14:20:43 -08:00
Ryan Hsu
04aec8e5d1 qcacld-3.0: Fix the PNO WoW is not configured in concurrency case
qcacld-2.0 to qcacld-3.0 propagation

In the case of SAP + STA mode we fail to enable PNO on the STA interface,
and as a result the PNO feature will fail to find a network and wake the
host. Fix this by making sure PNO is configured in all appropriate
concurrency cases.

Change-Id: I97084cfde73025f0d09b60616959c9530ba82c80
CRs-fixed: 921150
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
Himanshu Agarwal
e1086fad37 qcacld-3.0: Cleanup checks in the driver exit path
Propagation from qcacld-2.0 to qcacld-3.0

Added sanity checks for below variable before accessing in the
driver exit path.

nl_srv_sock
pdev_txrx_ctx

Change-Id: I793db21e1a6d1eded027ecbd2805494ea7610852
CRs-Fixed: 846457
2015-12-09 23:21:39 -08:00
Naveen Rawat
c0c91cd58c qcacld-3.0: Fix UL TPUT issue when connected to 160MHz AP
This is qcacld-2.0 to qcacld-3.0 propagation

When STA is connected to 160MHz AP, channel width is updated to
20MHz since the 160MHz channel width is not handled.
Add support to handle the 160MHz BW in beacon IEs.

Change-Id: Id13164762d6da142093f049121440ce976cecfc1
CRs-Fixed: 924219
2015-12-09 23:21:38 -08:00
Srinivas Girigowda
9dc32cfb0f qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in sSirLPHBTcpParamStruct
Replace tSirMacAddr with cdf_mac_addr in sSirLPHBTcpParamStruct

Change-Id: I55cbe3c441c2b1540e946e52c815bc5518935964
CRs-Fixed: 898864
2015-12-02 12:55:30 -08:00
Srinivas Girigowda
9eddfdaf4c qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in sSirLPHBUdpParamStruct
Replace tSirMacAddr with cdf_mac_addr in sSirLPHBUdpParamStruct

Change-Id: I6439494feb18824cc9054c66ae426646c055f3d4
CRs-Fixed: 898864
2015-12-02 12:55:30 -08:00
Srinivas Girigowda
afede1885a qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in sSirRateUpdateInd
Replace tSirMacAddr with cdf_mac_addr in sSirRateUpdateInd.

Change-Id: I28dc76e07721f6472bbc1ec5c107cd12b2123a8f
CRs-Fixed: 898864
2015-12-02 12:55:30 -08:00
Srinivas Girigowda
0f09f999bd qcacld-3.0: Find extscan_in_progress irrespective of connected or pno
This is a qcacld-2.0 to qcacld-3.0 propagation.

The problem with the current code is we are finding whether connected or
pno_in_progress or extscan_in_progress in the same for loop and whenever
one of them matches, we break out of loop. It makes sense to keep
connected flag and pno_in_progress inside the for loop because both are
mutually exclusive. But same is not the case with extscan_in_progress,
this flag can be set to true or false irrespective of connected or
pno_in_progress.

Hence the fix is to move finding extscan_in_progress to a separate for loop.

Change-Id: Ie72ff7f7382adaea5626c0808a206d18c2916e0d
CRs-Fixed: 899322
2015-12-02 12:55:30 -08:00
Srinivas Girigowda
a4db76f1f2 qcacld-3.0: Cleanup WOW_NLO_SCAN_COMPLETE_EVENT
This is a qcacld-2.0 to qcacld-3.0 propagation.

Currently WOW_NLO_SCAN_COMPLETE_EVENT is enabled on receiving
PNO match found event, but it is never cleared.
This is causing regular host wake ups with the reason
WOW_REASON_NLO_SCAN_COMPLETE even if pno match is not found in the
next successive iterations.

Fix this by enabling/disabling WOW_NLO_SCAN_COMPLETE_EVENT before suspend
based on the flag pno match is found.

Change-Id: I21d73de0c03e0c09b5a91a521d848e71eaf359e0
CRs-Fixed: 888964
2015-12-02 12:55:30 -08:00
Srinivas Girigowda
e80cea9353 qcacld-3.0: Add support for wakeable NLO_SCAN_COMPLETE_EVENT
This is a qcacld-2.0 to qcacld-3.0 propagation.

With RunTime PM feature enabled, after receiving the PNO matched event
RunTime PM puts the host back in WoW suspend after 500ms (default).
Since WMI_NLO_SCAN_COMPLETE_EVENTID is not a wakeable event, this event
does not wakeup the host hence PNO scan not completed and PNO is broken.

Fix this by making NLO_SCAN_COMPLETE_EVENT a wakeable event.
Host driver configures this WoW event only after PNO match is received.

Change-Id: I81cccc86942fc75bc63235038c50ba6edb0fee8b
CRs-Fixed: 884211
2015-12-02 12:55:29 -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
117e7fbb09 qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in sir_ocb_config_channel
Replace tSirMacAddr with cdf_mac_addr in struct sir_ocb_config_channel.

Change-Id: I0f22ba3b3b63f8d56d3285522c0d8d1303e2f89c
CRs-Fixed: 898864
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
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
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
a5bf543104 qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in sSirScanOffloadReq
Replace tSirMacAddr with cdf_mac_addr in sSirScanOffloadReq.

Change-Id: Ia42f230491b0500f612c983c5769401249b6d961
CRs-Fixed: 898864
2015-12-02 12:55:28 -08:00
Chandrasekaran, Manishekar
c841692ae4 qcacld-3.0: Restore service ready extended event
Restore the support for service ready extended
event since the required FW support is in place.
Without the service ready extended event, the
FW mode configuration and scan mode
configuration in the driver would be initialized
to zero i.e., all the dual mac features would
be disabled. Otherwise, the default values of
these two params would be set based on the
default values present in this extended event,
which is set by the FW.

CRs-Fixed: 923182
Change-Id: I31aa6420f3076f61008a809fe134b99f9b0dbc08
2015-12-02 12:55:28 -08:00
Edhar, Mahesh Kumar
695468e069 qcacld-3.0: Protect dfs_radar_found global variable using lock
qcacld-2.0 to qcacld-3.0 propagation

dfs_radar_found variable will be accessed in different context
so protect the same with mutex lock and synchronize the channel
switch triggered by application and dfs module.

Change-Id: I724d22cde9a77c187a17dffef13a9b4c9b2c27da
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
75deb33157 qcacld-3.0: Add DS param IE in probe req frame
qcacld-2.0 to qcacld-3.0 propagation

Currently DS param IE is not present in probe req frames.
Set bit11 in scan_ctrl_flags to add DS param IE in probe req.

Change-Id: I57f79bd6dc5bd452987cb7d09cafa425ea2bbff4
CRs-Fixed: 905421
2015-11-25 17:26:47 -08:00
Govind Singh
e55e699ade qcacld-3.0: Fix static code analysis errors
qcacld-2.0 to qcacld-3.0 propagation

Updated the wma, htt modules to address the
issues reported by static code analysis.

CRs-Fixed: 933728
Change-Id: I3437f7d9a12475f4a854412d9f34f48ed7553848
2015-11-25 17:26:46 -08:00
Xun Luo
a858a47ead qcacld-3.0: clear WMI work queue before bus context destruction
qcacld-2.0 to qcacld-3.0 propagation

All WMI work queue should be cleared and processing stopped before
bus context destruction. This change enforces this rule.

Change-Id: I2e12f3f08424f718ec66fe257060ce13de17ee4e
CRs-Fixed: 840422
2015-11-25 17:26:46 -08:00
Himanshu Agarwal
94045e429d qcacld-3.0: Fix static code analysis errors
Propagation from qcacld-2.0 to qcacld-3.0

Updated the wma, pe module to address the issues reported by static code
analysis.

Change-Id: I8666adf161225014108c189cbcffced9450ae0c4
CRs-Fixed: 889019
2015-11-25 17:26:46 -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
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
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
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
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
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
22a7e1efe8 qcacld-3.0: Fix namespace collision in DFS module
Fix namespace collision of the DFS module
with userspace.

Change-Id: I4ca582e9cb5713238cbae3060005375682fc8806
CRs-Fixed: 935515
2015-11-23 13:09:04 -08:00
Tushnim Bhattacharyya
23168e484b qcacld-3.0: Remove wma_update_intf_hw_mode_params from vdev start rsp
The Tx & Rx SS & mac id update already been done by
wma_vdev_start_resp_handler. So, no need to update again by calling
wma_update_intf_hw_mode_params.

Change-Id: Ib9804bf0d30c75d95b14925a902fe167fa681be0
CRs-fixed: 935341
2015-11-23 13:09:02 -08:00
Naveen Rawat
10ccf878f9 qcacld-3.0: Fix race condition between WMI control RX and driver unload
This is a qcacld-2.0 to qcacld-3.0 propagation

Don’t unregister the event in LIM cleanup since it will be take care
by WMI service close. Also in tlshim_mgmt_rx_wmi_handler, add driver
load/unload check to avoid processing any WMI_MGMT_RX_EVENTID event
even the handler is not NULL

Change-Id: I72b53b614218f26e874c964a0d8b0affba6cda79
CRs-Fixed: 904490
2015-11-23 13:08:10 -08:00
Varun Reddy Yeturu
0518629d50 qcacld-3.0: Changes for early stop scan
Early stop scan is a feature for roaming to stop the scans at
an early stage as soon as we find a better AP to roam. This
would make the roaming happen quickly.

Apart from sending the configuration items, the host also
has to send down the channel list in a sorted order
to optimize the scans and meet the requirement of this
feature.

This feature is currently applicable only to roaming
scans. However the sorted order of scan list will be
the same used by all the scans.

CRs-Fixed: 932431
Change-Id: I9c7300e4922cb0d517c248bcf60f681a5872a315
2015-11-23 13:08:08 -08:00
Varun Reddy Yeturu
b43fda1ddd qcacld-3.0: PNO Channel prediction
Reduce the number of channels to scan in PNO mode
based on the initial scan memory and the movement
of the client STA using Tanimoto distance

CRs-Fixed: 932355
Change-Id: I1b5448af801fb37324b77cd13c6009f1d859dd61
2015-11-23 13:08:08 -08:00
Edhar, Mahesh Kumar
35d9b2ed49 qcacld-3.0: Optimize processing of DFS phy events
qcacld-2.0 to qcacld-3.0 propagation

Optimize by avoiding processing of DFS phy events in below scenario's

1)Once radar indication given to UMAC.
2)Vdev restart in SAP interface

Change-Id: Ib175feed4a611a5c7185202e3d50abc3e84fc781
CRs-Fixed: 910586
2015-11-23 13:08:05 -08:00
Edhar, Mahesh Kumar
b0319c4725 qcacld-3.0: synchronize concurrent access of shared variable
qcacld-2.0 to qcacld-3.0 propagation

Currently DFS variables are accessed in different context without
protection leading to NULL pointer dereferences.

Ensure lock is taken before accessing the DFS shared variable.

Change-Id: Ie78dd50ff4b32ef52f78e2944d175a6c10577882
CRs-Fixed: 910586
2015-11-23 13:08:05 -08:00
Yue Ma
455aff67e9 qcacld-3.0: Ignore VOS_BUG if recovery is already going on during suspend
qcacld-2.0 to qcacld-3.0 propagation

There is no need for host driver to do VOS_BUG if FW has already requested
recovery during suspend.

Change-Id: I0c77210316fea978fe686201f42b9501612e9a1e
CRs-fixed: 904909
2015-11-23 13:08:04 -08:00
Yue Ma
e1a85f39d1 qcacld-3.0: Recover if fail to receive HTC ACK from FW for PDEV suspend
qcacld-2.0 to qcacld-3.0 propagation

If self-recovery is enabled in ini file, recover if host driver fails to
receive HTC ACK from FW for PDEV suspend, otherwise do VOS_BUG.

Change-Id: Ieddb22c5806067ec1a1166b60e1642e6cdf74a4c
CRs-fixed: 894187
2015-11-23 13:08:03 -08:00
Prakash Dhavali
7090c5fd8d qcacld-3.0: Initial snapshot of ihelium wlan driver
qcacld-3.0: Initial snapshot of ihelium wlan driver
to match code-scanned SU Release 5.0.0.139. This is
open-source version of wlan for next Android release.

Change-Id: Icf598ca97da74f84bea607e4e902d1889806f507
2015-11-17 17:52:53 -08:00