Commit Graph

718 Commits

Author SHA1 Message Date
Chandrasekaran, Manishekar
2859de43af qcacld-3.0: Sanitize the session id before issuing scan
Ensure that the session id is sanitized before issuing
the scan request. During the transient stages of a new
interface when no session exists for that interface and
if a scan is received for that particular interface, it
would result in scan with invalid vdev id. Validate the
session id to avoid the same.

Change-Id: Ib22262493a141491d1d86ae682b14113d303685d
CRs-Fixed: 973773
2016-04-13 21:51:23 -07:00
Chandrasekaran, Manishekar
41ab6b0036 qcacld-3.0: Fix incorrect value of Rx Nss in operating mode field
Fix the incorrect value of receive spatial streams added for use
in operating mode field. The Operating Mode field is present in
the Operating Mode Notification frame and Operating Mode
Notification element. These are used to notify STAs that the
transmitting STA is changing its operating channel width, the
maximum number of spatial streams it can receive, or both.

As per the 802.11ac spec:
- If the Rx NSS Type subfield is 0, indicates the maximum number
of spatial streams that the STA can receive.
- If the Rx NSS Type subfield is 1, indicates the maximum number of
spatial streams that the STA can receive as a beamformee in an SU
PPDU using a beamforming steering matrix derived from a VHT
Compressed Beamforming report with Feedback Type subfield
indicating MU in the corresponding VHT Compressed Beamforming
frame sent by the STA.

Set to 0 for Nss = 1
Set to 1 for Nss = 2
...
Set to 7 for Nss = 8

Change-Id: I60cb7259df3986c0356666a357b8a4ef575b7ca4
CRs-Fixed: 973411
2016-04-13 21:51:23 -07:00
Krunal Soni
ee57247afe qcacld-3.0: Fix follow-up comments for csa changes in STA/CLI case
Move cdf/cds module related operation from
lim_handle_hw_mode_change_on_csa to cdf_handle_hw_mode_change_on_csa
to keep majority of cdf/cds operation in one place.

Change-Id: I5af9ee941f8430be49cf2e467f9eac77dc09dde4
CRs-Fixed: 972184
2016-04-13 21:51:23 -07:00
Chandrasekaran, Manishekar
5c19dc5f8e qcacld-3.0: Set hw mode during channel switch in STA/P2P-CLI case
Set the hw mode, if needed, during channel switch in STA and
P2P-CLI scenario. The STA/P2P-CLI on receiving the channel change
event may need to do a hw mode change to get the best out of the
hw capabilities.

e.g.1, In a STA+SAP concurrency, the STA and SAP are doing SCC on
channel 6. When the STA interface receives a channel event for
channel 36, it is better the driver moves to a DBS scenario.

e.g.2, In a STA+SAP concurrency, the STA is on channel 6 and the
SAP is on channel 36. When the STA interface receives a channel
event for channel 36, it is better the driver moves from a DBS
scenario to a SCC scenario.

For MCC upgrade, the following steps are taken
1. Opportunistic timer is started
2. vdev restart is initiated on the new channel
3. PM will check if MCC upgrade can be done on timer expiry

For DBS downgrade, the following steps are taken
1. PM will initiate HW mode change to DBS right away
2. vdev restart is initiated on the new channel

Change-Id: I202842bf28c3117e8cc91954cdfd3b39a0062f4e
CRs-Fixed: 972184
2016-04-13 21:51:23 -07:00
Satish Singh
107e6a36c1 Release 5.1.0.3G
Rebase of 5.0.0.163 onto 5.1.0.2G

Change-Id: If244ee2a2bc26a8b4387c89d7bce965c00497630
CRs-Fixed: 688141
2016-04-13 21:51:23 -07:00
Houston Hoffman
c7c72a8cc9 qcacld-3.0: Prevent runtime suspend when recovery initiated
qcacld-2.0 to qcacld-3.0 propagation

When self recovery initiated, CRASH_INJECT command is sent to
firmware. If firmware crash doesn't reach the host in time then
RuntimePM may kick in and try to suspend the PCIe link. At this
time, firmware might already been crashed just that host missed
the interrupt. Add the logic to prevent the Runtime suspend when
initiating the recovery so that host driver doesn't attempt the
suspend which may not go through and cause stability issues.

Change-Id: Ie8d5fc6aa08e4864fa5f03119c25037f5aeb5cec
CRs-fixed: 924538
2016-04-13 21:51:23 -07:00
Krishna Kumaar Natarajan
164e6b0c7b qcacld-3.0: Merge extended capability IE in beacon/probe resp template
qcacld-2.0 to qcacld-3.0 propagation.

Merge extended capability coming from hostapd and remove it from
extra IE before sending beacon/probe response template to firmware.

Change-Id: Iae50bbf1f70fd280f3366a89e58ad8f2c729720c
CRs-Fixed: 943078
2016-04-13 21:51:23 -07:00
Krishna Kumaar Natarajan
70133f0f37 qcacld-3.0: Fix double free of delete sta params
Fix double free of delete sta params by adding appropriate
check in wma_delete_sta.

If the synchronization feature is enabled, memory will be freed
in the wma_peer_delete_handler else memory will be free in
wma_delete_sta.

Change-Id: I40e664f10766faa8a20e9089f1c6b95d490b8658
CRs-Fixed: 971280
2016-04-13 21:51:23 -07:00
Krishna Kumaar Natarajan
608291e13b qcacld-3.0: Pass correct data length in oem data response msg
Add data length information in oem data response messages. Currently
maximum response size is passed to upper layers.

Change-Id: Id74d44e03755af9a5402e5409ee5f6b5e7abbb7c
CRs-Fixed: 942260
2016-04-13 21:51:23 -07:00
Prakash Manjunathappa
6eae0cd539 qcacld-3.0: Enable CE classification by default
Enables the CE classification by default.

Change-Id: Iabe2b58e41e30a449bebaa16daf8f869b2634b82
CRs-Fixed: 973502
2016-04-13 21:51:23 -07:00
Deepak Dhamdhere
4fc968d17f qcacld-3.0: Remove WLAN_FEATURE_VOWIFI_11R option from WMA
Conditional compilation option WLAN_FEATURE_VOWIFI_11R is always
defined in cld3.0 and underlying code is permanent in the driver.
Hence, remove #ifdef WLAN_FEATURE_VOWIFI_11R check from WMA source
code.
Remove -DWLAN_FEATURE_VOWIFI_11R compilation flag from Kbuild.

CRs-Fixed: 960105
Change-Id: Idbcea2faf9aa31ef62920ef322d6de61378198a6
2016-04-13 21:51:23 -07:00
Rajeev Kumar
b08f39cc4c qcacld-3.0: Add error log in wow periodic pattern handler
WoW periodic transmit pattern handler has no error log if
given input format is wrong. Add error log message to indicate
input is wrong and suggest the correct input format.

Change-Id: Ie3a37c7e1a9b9fd8a974c68a5cc7456b1b622168
CRs-Fixed: 973006
2016-04-13 21:51:23 -07:00
Rajeev Kumar
dca5f81346 qcacld-3.0: Extend wow debug fs support to all interfaces
Currently WoW debug fs support is limited to 1st interface.
FW supports wow and periodic pattern generation on all
interface types. Extend wow debug fs support to all interfaces.

Change-Id: I83deb1845f921ecf8c5422786e025a051ee3c561
CRs-Fixed: 973003
2016-04-13 21:51:23 -07:00
Varun Reddy Yeturu
28925b4c24 qcacld-3.0: LFR3.0: Fill Self MAC Address properly
The self MAC address should be filled from the previous
session in PE and has to be passed to WMA which is used
while creating the new PEER.

CRs-Fixed: 973463
Change-Id: If7f0d4d8400fd8dfcafb08e3795e434621b67a6d
2016-04-13 21:51:22 -07:00
Varun Reddy Yeturu
9044489d18 qcacld-3.0: Improve default logging for LFR3
Log the improtant messages with respect to roam synch propagation
by default so that they appear in the kernel logs and give an
hint of roaming. Also ensure not to log too much.

CRs-Fixed: 972498
Change-Id: Ia0bd7c9960a29275f872a9ec18173b8c5a08539a
2016-04-13 21:51:22 -07:00
Varun Reddy Yeturu
30bc42cbe8 qcacld-3.0: LFR2.0 Ignore STA kickout when roaming is in progress
If roaming is in progress, then there is a good chance to connect
to a better AP very soon, so ignore the sta kickout event that is
received from the firmware.

CRs-Fixed: 947880
Change-Id: I9197ed09a40d9acb706d1bfa535a4eb292a1af74
2016-04-13 21:51:22 -07:00
Varun Reddy Yeturu
16e8f0114e qcacld-3.0: Do not send replay counter for CCKM
Do not include replay counter attribute when roaming
is done for CCKM authentication type. For 11R and CCKM
roaming, the re-association frame carries additional
IE's which help cut down the Key exchange post
association. Hence there would be no EAPOL exchange
and hence it is not needed to include the replay
counter attribute to the supplicant after roaming.

CRs-Fixed: 972486
Change-Id: Ib861bdc91e949605788a19df4a706e6544dd4c73
2016-04-13 21:51:22 -07:00
Varun Reddy Yeturu
d521600a10 qcacld-3.0: Change channel bonding mode after roaming
The CB mode could get changed after roaming since the non-AP STA
can roam to an AP which has a different channel bonding mode.
So, derive the CB mode from the IE's and accordingly set in the
connected profile.

CRs-Fixed: 972479
Change-Id: I01daa88d69397fb0e88615656903c43ed623ed38
2016-04-13 21:51:22 -07:00
Krunal Soni
8c37e32104 qcacld-3.0: Fix to make common change intf api for ibss/sta/p2pcli
Current code is using seperate change interface for IBSS and
STA/P2PCLI.

Fix the API such that IBSS/STA/P2PCLI all can use same API.

Change-Id: I7a1d9fa3ef42091fcb7f71d95b604e3dceb8da50
CRs-Fixed: 973626
2016-04-13 21:51:22 -07:00
Krunal Soni
9be5eaa438 qcacld-3.0: Remove wma_recreate_ibss_vdev_and_bss_peer logic
wma_recreate_ibss_vdev_and_bss_peer is obsoleted API and no longer
needed. Remove this API as part of clean-up efforts.

Change-Id: I277e775b7f44ca5aa05129d45e80c98fe1a53753
CRs-Fixed: 973626
2016-04-13 21:51:22 -07:00
Krunal Soni
f988222e04 qcacld-3.0: Fix memory leak while cleaning up scan filter
Memory leak observed while cleaning up scan filter in SME module.

Change-Id: Ic4bbf622f1950d1ed6323a45504e4ad57fbf3b09
CRs-Fixed: 973626
2016-04-13 21:51:22 -07:00
Deepak Dhamdhere
641bf32b43 qcacld-3.0: Remove WLAN_FEATURE_VOWIFI conditional compilation
Remove #ifdef WLAN_FEATURE_VOWIFI from host driver source code.
It has alwasys been defined in Kbuild and underlying features
will be permanent in cld3.0. Those features are 11r radio
resource measurement, beacon report, link report, neighbor
report and power constraint.

Please note that WLAN_FEATURE_VOWIFI_11R is used for different
purpose and it is not removed in this change.

CRs-Fixed: 958729
Change-Id: Icd80e9cce08c4662e86ccda94491c1fc22c5756d
2016-04-13 21:51:22 -07:00
Deepak Dhamdhere
262d95a523 qcacld-3.0: Remove WLAN_FEATURE_VOWIFI_11R option from MAC
Conditional compilation option WLAN_FEATURE_VOWIFI_11R is always
defined in cld3.0 and underlying code is permanent in the driver.
Hence, remove #ifdef WLAN_FEATURE_VOWIFI_11R check from MAC source
code.

CRs-Fixed: 960105
Change-Id: Iae95c169c7e78310d18cbf9ae097501d4c66230c
2016-04-13 21:51:22 -07:00
Satish Singh
e27e2aa2c0 Release 5.1.0.2G
Rebase of 5.0.0.162 onto 5.1.0.1G

Change-Id: Ice0a1557e23a66b94d278879337ea10769b894d1
CRs-Fixed: 688141
2016-04-13 21:51:22 -07:00
Tushnim Bhattacharyya
3e2e935a03 qcacld-3.0: Fix typo on gEnableM2MLimitation config
Fix a typo on default values of gEnableM2MLimitation config parameter

Change-Id: I730dd10118777359fe644d5c5c9f1671b5d185bb
CRs-fixed: 922181
2016-04-13 21:51:22 -07:00
Naveen Rawat
ada5faca16 qcacld-3.0: Fix names for lim_process_assoc_req_frame.c
This patch fixes:
1) Fixes variable names as per linux kernel coding guidelines.
2) Removes PELOG definitions.
3) Fixes few of long debug prints.
4) Fixes function headers
for file lim_process_assoc_req_frame.c. This patch is then used as
base for reindentation of function lim_process_assoc_req_frame()

Change-Id: I5d4a39356b4555789ca9119f54a54766594b26c3
CRs-Fixed: 824222
2016-04-13 21:51:22 -07:00
Chandrasekaran, Manishekar
abc98d1483 qcacld-3.0: Log the channel switch IEs to debug any related issue
Log the channel switch and extended channel switch information
element along with the wide channel bandwidth sub element to
debug any channel switch related issues. Since the IEs are
populated only during channel switch, this logging of the IEs
from the beacon should not have any impact in performance.

Change-Id: I7a7e0dcf45f39fb6e4d049dde0b02289bde1d4f7
CRs-Fixed: 972007
2016-04-13 17:58:16 -07:00
Chandrasekaran, Manishekar
5738eb0fe8 qcacld-3.0: Fix extraction of invalid PE session entry during Nss update
Ensure that the PE session is extracted using the SME session id during
Nss update request. The Nss update request carries the SME session id
and not the PE session id. Fixing the implementation by invoking
pe_find_session_by_sme_session_id() to extract the PE session entry
using the SME session id, instead of pe_find_session_by_session_id()
which uses the PE session id.

Change-Id: If388fa917635c7a536d21fcfb664b081babd5c2a
CRs-Fixed: 970802
2016-04-13 17:58:16 -07:00
Chandrasekaran, Manishekar
ce7ab08669 qcacld-3.0: Update the policy manager table during channel switch
Update the policy manager table during channel switch in case of
STA/CLI/SAP/P2P-GO mode. The vdev (re)start response carries the
updated vdev parameters such as the new MAC to which the vdev
connection moved to etc.

Change-Id: I55a56acdba8234e09d1439698b2b13751d4e9b2d
CRs-Fixed: 970794
2016-04-13 17:58:16 -07:00
Chandrasekaran, Manishekar
8104abd5a9 qcacld-3.0: Restrict channel switch only to the intended interface
Ensure that application triggered channel switch impacts only the
interface of interest. eSAP_DFS_CHNL_SWITCH_ANNOUNCEMENT_START
gets used for both radar detected channel switch and application
triggered channel switch using ioctl or nl commands. On radar
detected channel switch, if radar was detected by one of the SAP
interface, all SAP interfaces in the driver would vacate the
channel. In application triggered channel switch, only the
interface of interest should vacate the channel.

Change-Id: I8eee8bde89ae44eec31c1bd35a99a78e517b4a5e
CRs-Fixed: 969323
2016-04-13 17:58:16 -07:00
Chandrasekaran, Manishekar
e716c40025 qcacld-3.0: Set hw mode during channel switch in SAP/P2P-GO case
Set the hw mode, if needed, during channel switch in SAP and
P2P-GO scenario.

Change-Id: Icef31277465b3a298695ccefb856d9cad8a16108
CRs-Fixed: 969307
2016-04-13 17:58:16 -07:00
Chandrasekaran, Manishekar
6639d325cb qcacld-3.0: Move DBS opportunistic timer out of HDD context
Move the DBS opportunistic timer out, from the HDD context
to the CDS context.

Change-Id: I57cb3010bc1ba4ce3736edc6c4c1f4c32f226144
CRs-Fixed: 970163
2016-04-13 17:58:16 -07:00
Houston Hoffman
c45db899eb qcacld-3.0: Prevent runtime suspend untill clean-up completes
qcacld-2.0 to qcacld-3.0 propagation

When runtime suspend fails because of wma_suspend_req() not
completing in time, PM runtime workqueue posts resume request to
MC thread to clean-up. If MC thread is busy or slow in processing
resume request and after the timeout Runtime PM framework posts
another suspend request then there may be race condition between
MC thread processing resume request (Or even suspend request) and
Runtime PM workqueue posting subsequent suspend request.
Synchronize subsequent suspend request by not allowing the
runtime suspend till resume requests completes in MC thread
context.

Change-Id: Ie9aaf72fbced41f8d23640b9032a3c2236dc6826
CRs-fixed: 921373
2016-04-13 17:58:16 -07:00
Rajeev Kumar
aea89633d6 qcacld-3.0: Set wow enable parameter in WMA properly
WoW is getting enabled even in disconnected state when
PNO, EXT_SCAN or LPASS is not enabled. Enable wow only
when one of interface is in beaconing mode, connected
state or PNO/EXT_SCAN/LPASS is enabled.

Change-Id: I30226700844c9b4adbe3a0659a270b99dc6e66f8
CRs-Fixed: 971738
2016-04-13 17:58:16 -07:00
Satish Singh
88fdf825d4 cld-3.0: Incremental CLD3.1 Release 5.1.0.1H
Incremental CLD3.1 Release on top of 5.1.0.1G with
data path fix.

Change-Id: I3838483c0e1c7e3b698433fa74563e535e7cd309
CRs-Fixed: 688141
2016-04-12 14:04:02 -07:00
Dhanashri Atre
50141c53a3 qcacld-3.0: Register vdev before registering peer
Ensure that the per vdev rx callback is registered before
registering the peer. The peer registration function may
try to flush the rx frames so we need to ensure that the rx
callback is registered before it is called.

Change-Id: Ibd1d73d89105bbc3f9d29fa2c64e9f515d4b0da5
CRs-Fixed: 1000834
2016-04-07 16:28:28 -07:00
Vishwajith Upendra
e068982a92 cld-3.0: Incremental CLD3.1 Release 5.1.0.1G
Incremental CLD3.1 Release 5.1.0.1G after relocating
the driver development to new branch and path.

Change-Id: Ib75f16fb56ab6a9306f09377bb3df2094d0fc516
CRs-Fixed: 688141
2016-04-04 09:59:24 -07:00
Vishwajith Upendra
59e44b029c cld-3.0: Incremental CLD3.1 Release 5.1.0.1F
Incremental CLD3.1 Release 5.1.0.1F after relocating
the driver development to new branch and path.

Change-Id: Ic34b6e6f810f1ab32eaefe0b624b4183b86a43cf
CRs-Fixed: 688141
2016-04-01 17:01:08 -07:00
Manjunathappa Prakash
2593a640d4 qcacld-3.0: Replace cdf references with qdf
Replace cdf references with qdf.

Change-Id: Ifba0c1045af57e285c87017e62ae240c2faa28ff
CRs-Fixed: 994638
2016-04-01 16:19:51 -07:00
Manjunathappa Prakash
3454fd61da qcacld-3.0: Data path changes to use converged APIs (Part 5)
Changes in the data path to use the converged MCL specific APIs.

Change-Id: Iaedc5e7e175d6b8eb905a04178fe9772dc7bb797
CRs-Fixed: 994638
2016-04-01 16:19:43 -07:00
Manjunathappa Prakash
10d357a17c qcacld-3.0: remove references to datapath structures from other modules
Core datapath structures should be opaque to non-datapath modules,
remove the references to them.

Change-Id: I3618253566a971c27f16b14923d1ff8028718918
CRs-Fixed: 994638
2016-04-01 16:19:36 -07:00
Dhanashri Atre
b08959a747 qcacld-4.0: Data path changes to use converged APIs (Part 4)
Changes in the data path to use the converged MCL specific APIs.

Change-Id: Ib6ae1917a9678dcd735b81e3aa83d086406ac404
CRs-Fixed: 994638
2016-04-01 16:09:57 -07:00
Dhanashri Atre
168d2b492e qcacld-3.0: Data path changes to use converged APIs (Part 3)
Changes to register a per vdev tx callback function.

Register a per-vdev transmit function during vdev registration.
The OS interface (HDD) adapter stores this transmit function and
invokes it to transmit data frames.

Change-Id: I1dfe6f58d1d26069dadc2d719fff242c29071bad
CRs-Fixed: 994638
2016-04-01 15:52:33 -07:00
Dhanashri Atre
182b027a73 qcacld-3.0: Data path changes to use converged APIs (Part 2)
Changes to register a per vdev rx callback function.

Register a per-vdev receive callback function using the vdev registration
API provided by the converged data path API. The changes include
- removing the older method of registering the receive callback
- modify the HDD callback to adhere to the rx callback function defined
by the converged data path API
- modify the invocation of the callback function in the data path

Change-Id: I2aef905132af4b3d7db22c7ec315d114607c9383
CRs-Fixed: 994638
2016-04-01 15:51:59 -07:00
Dhanashri Atre
12a0839cd6 qcacld-3.0: Data path changes to use converged APIs (Part 1)
Change the data path and external modules to use the new
converged common data path APIs.

Change-Id: Ifb48178efd012b6ad9ea6f6d5230d0a809922b1c
CRs-Fixed: 994638
2016-04-01 15:46:10 -07:00
Yue Ma
1e11d79646 qcacld-3.0: Remove CDS related functions in HTC
Update runtime PM APIs and HTC connection mode parameter
accordingly.

Change-Id: I2f54933b90aaed233042c113d246fae4726f5707
CRs-fixed: 982024
2016-04-01 15:24:33 -07:00
Vishwajith Upendra
6785797b91 cld-3.0: Incremental CLD3.1 Release 5.1.0.1E
Incremental CLD3.1 Release 5.1.0.1E after relocating
the driver development to new branch and path.

Change-Id: I49934210bb4c92f7cf9d700845812e49615af6da
CRs-Fixed: 688141
2016-03-31 23:22:33 -07:00
Houston Hoffman
c7c69f014d qcacld-3.0: Add runtime pm ini items
Add runtime pm enable and delay ini items in hdd.
If runtime pm isn't enabled, the wlan driver will
not perform runtime suspends.
If runtime pm is enabled, the wlan driver will
perform a runtime suspend after delay time in
miliseconds.

Change-Id: I7fa05b9fc1e81bd189e8336efcb3d2977732ed81
CRs-Fixed: 935300
2016-03-31 22:48:03 -07:00
Rajeev Kumar
3d4b1ef5eb qcacld-3.0: Clean-up log messages from data path
In data path per packet logging is overwriting previous useful
logs. Use HDD data module ID for WMM per packet logging with
debug log level such that by defualt per packet WMM debug log
messages are not logged.

Change-Id: I64053a6d5048a14277e01f35fcb6e0bbf6ac42b9
CRs-Fixed: 969712
2016-03-31 22:47:58 -07:00
Vishwajith Upendra
9e6f1dd447 cld-3.0: Incremental CLD3.1 Release 5.1.0.1D
Incremental CLD3.1 Release 5.1.0.1D after relocating
the driver development to new branch and path.

Change-Id: Ifc161a74d121e11e9e21c3f2006889de8a5c71b8
CRs-Fixed: 688141
2016-03-31 13:56:22 -07:00