Commit Graph

287 Commits

Author SHA1 Message Date
Ravi Joshi
4f447cb765 qcacld-3.0: Configure multicast filters for nan data interface
Configure multicast filters for the nan data interface.
Request to configure multicast filters is not honored for the
NAN data interface in the current implementation.

Integration from qcacld-2.0 to qcacld-3.0.

CRs-Fixed: 1046519
Change-Id: I48a4a30fd9f6369fe398254184d0016a35c0a6b3
2016-07-29 18:15:12 -07:00
Arun Khandavalli
4b55da70d6 qcacld-3.0: Refactor hdd callback (de)registration into a single function
As part of "load once unload never" architecture, cds modules can
be opened and closed several times. Refactor the hdd callback registration/
de-registration into hdd_register_cb/hdd_deregister_cb which can
be invoked during the open/close of the modules respectively.

Change-Id: I2da9018ff2fa6188e61e007c896bc13e8fddcb7d
CRs-Fixed: 1026817
2016-07-28 15:33:50 +05:30
Naveen Rawat
48f51d04e9 qcacld-3.0: Fix NPD of ies_local in csr_roam_join_handle_profile
In csr_roam_join_handle_profile variable ies_local is populated if input
argument result is not NULL. We cannot proceed to with roaming if IE parsing
fails, so abort roaming if input argument "result" passed to function
csr_roam_join_handle_profile is NULL.

Change-Id: I52c35a44598028115c48aff7827f3fc90bd48cb1
CRs-Fixed: 1038237
2016-07-28 15:32:46 +05:30
Varun Reddy Yeturu
3e91dad283 qcacld-3.0: Use Reassociation during BSS Transition
This is qcacld-2.0 to qcacld-3.0 propagation

The BSS transition request is handled by the supplicant.
The supplicant upon receiving the request will issue a
connect request to the driver with a hint of prev_bssid
telling the driver to perform a re-association.
Use this hint in the driver and initiate a re-association.
While doing the re-association, there is no need to do a
scan if the target AP is already present in the scan cache.
Optimize the re-association code to not do a scan if not
necessary in this particular case.

Change-Id: Idf1a7058009a8d2082bc1742dca1364cf59c405b
CRs-Fixed: 1010596
2016-07-28 15:31:44 +05:30
Anurag Chouhan
5de8d17671 qcacld-3.0: Add BSS status caching
Add BSS status caching to get the BSS Information
when disconnect happens.

Change-Id: I41b74700b161277bc454d8bb8978f4e1e92faea8
CRs-Fixed: 1013475
2016-07-15 04:23:12 -07:00
Naveen Rawat
696a930c25 qcacld-3.0: Fix start BSS failure
In function csr_roam_join_handle_profile, add NULL pointer check for
"result" after call to csr_roam_select_bss rather than before
csr_roam_join_handle_profile, since it is called for BSS role as well.

Change-Id: I800891fd66d5c851537968515e43eadbe38a2ae8
CRs-Fixed: 1038237
2016-07-14 18:50:50 -07:00
Naveen Rawat
a395d25d53 qcacld-3.0: Fix NULL pointer dereference in csr_roam_join_next_bss
Add NULL pointer check for "result" after call to csr_roam_select_bss.
This function can return a NULL value for variable "result", which is
later dereference in the function csr_roam_join_handle_profile.

Change-Id: I5e1f017de49301a14b899692b888f7694e979bf1
CRs-Fixed: 1027725
2016-07-14 18:50:50 -07:00
Gupta, Kapil
8a605e1b59 qcacld-3.0: Correct len size of oem data request
qcacld-2.0 to qcacld-3.0 propagation.

oem data request len size should be of 4 byte instead of
1 byte.
Add changes to correct len size in oem data structure across the
layers.

Change-Id: I9b377420c50ff1160964f94be5eaa0072df0f63d
CRs-Fixed: 1013488
2016-07-13 15:27:49 -07:00
Tushnim Bhattacharyya
f44a9d86cd qcacld-3.0: Fix chain mask & nss in policy manager connection table
The chain mask in policy manager connection table needs to be updated
with the capability that HW advertises at load time intersected with
related ini configuration on host. The dynamic change of the chain
mask & NSS values will be handled only by chain mask manager in
firmware.

Change-Id: I250668c93920a63c9278aefe93491cb5aaa91ca7
CRs-Fixed: 1037816
2016-07-12 10:02:49 -07:00
Kabilan Kannan
44f6586a20 qcacld-3.0: Add validation to avoid buffer overflow
Buffer overflow condition is not validated correctly in function
sme_update_tdls_peer_state(). This may result in erratic program
behavior.
Add buffer over flow validation to avoid memory access errors,
incorrect results, a crash, or a breach of system security.

Change-Id: I793bd056b32924b484ce7cb264b22c74c8c4cca4
CRs-Fixed: 1035656
2016-07-08 17:26:54 -07:00
Manjeet Singh
f82ed071d0 qcacld-3.0: Add support for WMI_PDEV_WAL_POWER_DEBUG_CMD
Add support for WMI POWER DEBUG command to control mac_core power features
for run time debugging.

Change-Id: I77ad747843cae31de1705b7ce8fa80e18c9ca53e
CRs-Fixed: 1007598
2016-07-08 05:14:42 -07:00
Sandeep Puligilla
707386ec00 qcacld-3.0: Update log level related to PNO
PNO kernel debug logs are too frequent.

Reduced the log level of PNO messages from error to info

Change-Id: I27166f542889e0d5071ae8c558e0227c51064c5f
CRs-Fixed: 1022820
2016-07-07 22:15:23 -07:00
Naveen Rawat
8d63a59f3b qcacld-3.0: Add NDP reason codes in deferred rsp sent for NDP commands
This is qcacld-2.0 to qcacld-3.0 propagation.

Add NDP reason codes in deferred response sent for NDP commands so that
failure during processing of NDP cmds can be notified to service layer.

Change-Id: I731b520fde226c351464d94033a1ced2888a4d18
CRs-Fixed: 962367
2016-07-06 13:31:56 -07:00
Naveen Rawat
64a9a1a5b3 qcacld-3.0: Free up ndp sme command resources at sme close
This is qcacld-2.0 to qcacld-3.0 propagation

Free up memory allocated for NDP SME commands at sme_close, so that in
the event of unload while NDP command response was awaited, resources
can be freed.

Change-Id: I287ad77cbdca4b816f38bea436173b88e6eafc93
CRs-Fixed: 962367
2016-07-06 13:31:38 -07:00
Deepak Dhamdhere
a6d2f4cec4 qcacld-3.0: Process NDP data end indication
qcacld-2.0 to qcacld-3.0 propagation

Firmware sends an array of:
    {ndp instance id, vdev id, active ndp num, peer mac address}
for the NDP instances that are to be terminated.
Host driver deletes the peers that have 0 active ndp instances and
sends the entire list of ndp instance id's to the service layer.

Change-Id: I325843ce7fb8198466cb66ce66710cef999d4581
CRs-Fixed: 962367
2016-07-06 13:31:29 -07:00
Naveen Rawat
f28315cd66 qcacld-3.0: Add support for NAN Data End Request
This is qcacld-2.0 to qcacld-3.0 propagation.

Add implementation of NAN Data End request.

Change-Id: Iddd22a83b0763dab2e7398f4d2cf5b9ada58225a
CRs-Fixed: 962367
2016-07-06 13:31:24 -07:00
Abhishek Singh
4fef747c51 qcacld-3.0: Add support for NDP Responder Request
This is qcacld-2.0 to qcacld-3.0 propagation

Add implementation for non-auto accept NDP responder request.

Change-Id: I2ced33cfa0faf487d8e31275493e8d85251e8c59
CRs-Fixed: 962367
2016-07-06 13:31:11 -07:00
Deepak Dhamdhere
0f076bd0db qcacld-3.0: Add support for NDP data initiator request
qcacld-2.0 to qcacld-3.0 propagation

Add host side changes to handle INITIATOR_REQ, INITIATOR_RSP,
NEW_PEER_IND and NDP_CONFIRM_IND to support NDP data initiator
request.

Change-Id: I10bf88d3fff27e1f842b720a598c923983c06c90
CRs-Fixed: 962367
2016-07-06 13:31:04 -07:00
Peng Xu
8fdaa49618 qcacld-3.0: Implement P2P listen offload feature
To lower the power consumption caused by the P2P listen operation,
it is offloaded from supplicant and host driver to firmware,
so that supplicant and host driver can be in power save mode during the
listen operation.

Change-Id: Iedd990427afe22842faecc7b29e4f38220c75684
CRs-fixed: 1032877
2016-07-06 13:30:23 -07:00
Krunal Soni
3091bcc07d qcacld-3.0: Remove deprecated gPolicyManagerEnable INI item
gPolicyManagerEnable INI item is no longer needed. Remove this
INI item and make policy manager code enabled by default.

Change-Id: I57822f47325c03e940b2802fb02900c64d3587e1
CRs-Fixed: 1034888
2016-07-06 13:30:12 -07:00
Naveen Rawat
9598f5edb9 qcacld-3.0: Fix NULL pointer dereference in csr_is_p2p_session_connected
Check pSession->pCurRoamProfile against NULL before dereferencing it in
function csr_is_p2p_session_connected.

Change-Id: I61f681dfd4ff3c7fd2e443f54f6b1713db088250
CRs-Fixed: 1034255
2016-06-30 11:06:22 -07:00
Naveen Rawat
7ecf53d0ae qcacld-3.0: Add for NULL pointer check in sme/csr functions
Check for NULL pointer before accessing pointers in function:
 * csr_roam_join_handle_profile
 * csr_roam_process_results_default
 * csr_roam_process_start_bss_success
 * csr_roam_process_join_res
 * csr_process_nss_update_req
 * csr_is_p2p_session_connected

Change-Id: I9bf83a2641a4523713b9180679648202ea9c9eef
CRs-Fixed: 1034255
2016-06-30 11:06:16 -07:00
Naveen Rawat
cf684760d6 qcacld-3.0: Fix NULL pointer dereference in sme_register_ftm_msg_processor
In function sme_register_ftm_msg_processor, remove access to mac_ctx which is
dereferencing a NULL pointer.

Change-Id: I6e2db08703b3beff23f9398d9d1c88e1c6bcb229
CRs-Fixed: 1034255
2016-06-30 11:06:14 -07:00
Gupta, Kapil
7122125d16 qcacld-3.0: Set initial dense status in case of dense roaming
In case of dense roam scenario, Host should set initial dense
status if roamable AP count is more than minimum dense AP count.

Add changes to set the flag if roamable AP count is more than
configured value.

CRs-Fixed: 1023078
Change-Id: I25bd26ae1292c0a829c1b1634df3ab975ab562c1
2016-06-29 21:02:37 -07:00
Deepak Dhamdhere
13983f2571 qcacld-3.0: Handle request to delete NAN Data Interface (NDI)
qcacld-2.0 to qcacld-3.0 propagation

Add changes to handle request to delete NAN datapath interface.

Change-Id: I3efef6adf6c7a974d3e344a7609f8517cd1aa752
CRs-Fixed: 962367
2016-06-29 19:42:08 -07:00
Deepak Dhamdhere
5cdce8429e qcacld-3.0: Add support for NDP vendor commands and NDI Create
Add support for NDP vendor commands and implement NAN Data Interface
create.

Propagation from qcacld-2.0 to qcacld-3.0

CRs-Fixed: 962367
Change-Id: I84e9ac5ccfe8faaa00dfc448defb81fb792263d5
2016-06-29 19:42:07 -07:00
Deepak Dhamdhere
e2dd5440bf qcacld-3.0: Implement NAN datapath interface create
qcacld-2.0 to qcacld-3.0 propagation

Add changes to support session and BSS creation in NDI mode.

CRs-Fixed: 962367
Change-Id: I585cd89702a2c412783ae93fb1558ed5bfe31fd9
2016-06-29 19:42:05 -07:00
Ravi Joshi
412f23deb2 qcacld-3.0: Add interface changes for supporting NAN data path
Add interface changes to enable NAN data path feature

Propagation from qcacld-2.0 to qcacld-3.0

CRs-Fixed: 962367
Change-Id: I12a1d0cf37db22ff0bcb8165cb3f6b3847f8bf5b
2016-06-29 19:42:04 -07:00
Deepak Dhamdhere
c9acc447ea qcacld-3.0: Add messaging interface to support NAN datapath
qcacld-2.0 to qcacld-3.0 propagation

Add messaging interface to support NAN datapath.
"NAN" terminology is used for referencing NAN discovery.
"NDI" and "NDP" are for NAN datapath.

CRs-Fixed: 962367
Change-Id: I1f42c8dab17b3a300db61756c29fc02d3d3bc504
2016-06-29 19:42:02 -07:00
Archana Ramachandran
63f64ddbaf qcacld-3.0: Skip DSRC channels in TDLS operation
qcacld-2.0 to qcacld-3.0 propagation

We do not support TDLS on DSRC AND DFS channels so skip
these channels in the TDLS frames.

Change-Id: I3ad523ab21d1383df189d3856f6e0759b1a2bb6a
CRs-Fixed: 975657
2016-06-29 18:41:31 -07:00
Archana Ramachandran
5041b2579e qcacld-3.0: Support NSS configuration for TDLS from user space
qcacld-2.0 to qcacld-3.0 propagation

TDLS NSS can be changed dynamically by the user, if that happens
the newer NSS value needs to be recorded in the MAC context and
should be used to form TDLS management frames.
Update driver to keep the user configured NSS value in the MAC
context and uses the NSS value in the tdls protocol engine
to construct management frames.

Change-Id: I4098e3c5e3a03c4de6ae40c837a5616613623979
CRs-Fixed: 968106
2016-06-29 18:41:25 -07:00
Sandeep Puligilla
607f34a72e qcacld-3.0: Cleanup HT capability global configurations
UMAC maintains CFG item for each individual field of the HT
capability IE along with the global CFG item for HT cap IE.
This leads to update two global CFG items whenever there
is a change in HT capability IE field.

Remove the duplicate configuration items.
Update LIM code to read the capablities from the session
not from the globals.

Change-Id: Idf5c4358ab67983778a56e2fe3a2f21d1adc19e1
CRs-Fixed: 1029145
2016-06-29 12:11:46 -07:00
Manishekar Chandrasekaran
1db3abe6cc qcacld-3.0: Use mandatory channel list during SAP operation
Ensure that the SAP operations make use of the mandatory
channel list during SAP channel selection with INI option
'gWlanMccToSccSwitchMode' set to the value of '4' which
will make use of this channel list while trying to avoid
MCC scenarios.

Change-Id: Ia43ee1d2c598c81a5ef0add9246c400577f6f694
CRs-Fixed: 1014128
2016-06-27 18:19:59 -07:00
Ravi Joshi
a063dd9f69 qcacld-3.0: Create new files for supporting NAN data path feature
Add new files for supporting NAN data path feature.

Propagation from qcacld-2.0 to qcacld-3.0

CRs-Fixed: 962367
Change-Id: If12d15789659d04559a9d65d6b7016d4cc595fcf
2016-06-27 18:17:22 -07:00
Kabilan Kannan
14ec97f448 qcacld-3.0: Stop connection tracker during TDLS UAPSD and btcoex
Connection tracker should not run, when the events TDLS UAPSD
and btcoex happens in the system.
Add changes in the host driver to stop connection tracker
for the aforementioned events.

Change-Id: Ib631dc986826339a4c191328f187e46f4e0392d9
CRs-Fixed: 1025613
2016-06-27 18:10:17 -07:00
Kiran Kumar Lokere
666bf8591b qcacld-3.0: Add support for NSS configurability
qcacld-2.0 to qcacld-3.0 propagation

Add support for NSS configurability per vdev type
- Configure the 2g and 5g NSS with the INI value of
each vdev type
- Program the HT and VHT IE to FW for 1x1 and 2x2 mode,
FW will include them in scan probe request frames

Change-Id: I5cbf17a14ab6becad6cf5765ae5039fc284dc309
CRs-Fixed: 869026
2016-06-24 14:30:50 -07:00
Sandeep Puligilla
1cc23f6e37 qcacld-3.0: Obtain channel params from CDS
All the regulatory and channel management functionality
moved to CDS.

Cleanup the SME redundant functionality related to channel
parameters generation and update all the code references
to CDF API's

Change-Id: Iaf4e15b4ebb7107d8bbf7a54e42f9ea9358dcdaf
CRs-Fixed: 994562
2016-06-23 12:28:15 -07:00
Abhishek Singh
1c67622020 qcacld-3.0: Set wlan phy mode in OEM channel info response
qcacld-2.0 to qcacld-3.0 propagation

Calculate and add wlan phy mode for each channel in OEM channel
info response.
Also send ANI_MSG_PEER_STATUS_IND indication for STA mode when
STA gets connected.

Change-Id: I91363e90698cabda72028135eb7fe9adeb1fbc86
CRs-Fixed: 1007004
2016-06-23 12:27:37 -07:00
Gupta, Kapil
96c7f2f620 qcacld-3.0: Add support for adaptive dwell scan time
Dwell time can be modify based on channel congestion per scan
request.
Add changes to enable firmware to use scan control flag and
select dwell time optimization algorithm based on ini values.

Change-Id: Iea3de57c1b7d087442e4b8984b4184d24bb8c930
CRs-Fixed: 994443
2016-06-23 12:26:44 -07:00
Abhishek Singh
7a995582d6 qcacld-3.0: Change struct of EVENT_WLAN_SECURITY diag event
qcacld-2.0 to qcacld-3.0 propagation

Currently for diag event EVENT_WLAN_STATUS, diag
structure only allocates 6 bytes for ssid, though
ssid can be upto 32 bytes.

Also for diag event EVENT_WLAN_SECURITY, event id is
filled as PTK and GTK req/rsp for unicast and broadcast
req/rsp. PTK,GTK request doesn't make sense for wep case.

As a part of change, increase ssid size to 32 and replace PTK,
GTK req/rsp event id with Unicast, Broadcast req/rsp respectively.

Change-Id: I5aad1875262dd73878cc8393d09de1b23953d3a2
CRs-Fixed: 921847
2016-06-23 12:26:41 -07:00
Manishekar Chandrasekaran
ec26759fc8 qcacld-3.0: Correct channel parameters during channel switch notification
Correct the channel parameters that are calculated and used to indicate
the channel switch notification sent to user space. The channel bonding
values should not be used to get the channel width information since
they can be used only in STA mode to enable or disable the channel
bonding. Fix the same by getting the updated channel switch information
from the session entries.

Change-Id: Ia51779cddb2b9c3108b211822f104c45f88e53fd
CRs-Fixed: 1021380
2016-06-09 22:09:51 -07:00
Amar Singhal
83a047accb qcacld-3.0: Process SET_FCC_CHANNEL only after scan is finished
Currently SET_FCC_CHANNEL issues "update channel list" to firmware.
If scan is in progress, firmware aborts the scan resuting delay in
results update on the GUI. To avoid this, issue "update channel list"
only after scan is finished.

CRs-Fixed: 972208
Change-Id: I4c34010109443434bbe3abf45df7a0cf2effbee2
2016-06-01 10:49:56 -07:00
Amar Singhal
7c1e898b61 qcacld-3.0: Enable channels 12 & 13 when SET_FCC_CHANNEL is set
qcacld-2.0 to qcacld-3.0 propagation

Currently Ch 12/13 are disabled when SET_FCC_CHANNEL is issued by
framework. To meet FCC rules and to meet requirement for
other countries regulatory reduce TxPower for channel 12/13.

Change-Id: Ie833804e565f40e28845160452d3245334a34308
CRs-Fixed: 961580
2016-06-01 10:49:46 -07:00
Varun Reddy Yeturu
a9c259402e qcacld-3.0: LFR2.0: Fix to transition the roaming state
Fix the regression caused by the patch-set 5 of change-id
I56e8441f08dec180f080c305ba5c6541302f107c, where the API
to transition the roaming state,
CSR_NEIGHBOR_ROAM_STATE_TRANSITION has been replaced by
another API csr_neighbor_middle_of_roaming.

CRs-Fixed: 1017545
Change-Id: Icc30faf2816dcb8b6858fe1c80deb942d255ebfd
2016-05-23 11:46:56 -07:00
Varun Reddy Yeturu
f64252ab9f qcacld-3.0: Fix incorrect logic to disable hi_rssi feature
qcacld-2.0 to qcacld-3.0 propagation

Fix incorrect logic to disable hi_rssi feature.
Both hi_rssi_scan_rssi_delta and neighborLookupThreshold are
positive values. Ideally it should be checked if the current
AP is better than the HI_RSSI threshold and then disable
the feature. The HI_RSSI threshold is the difference
between the lookup threshold and the hi_rssi delta.

CRs-Fixed: 1014859
Change-Id: I6980927b25c34b9b4d8ac13c22e93abc4ec500ec
2016-05-23 11:46:50 -07:00
Varun Reddy Yeturu
7fc616d09a qcacld-3.0: Disable HI_RSSI_SCAN in few scenarios
qcacld-2.0 to qcacld-3.0 propagation

The HI_RSSI_SCAN feature is only meant to address the
scenario where user walks into a home which has dual band
AP and the 2.4G AP is visible initially and then the 5G AP
is visible later.
Disable the HI_RSSI_SCAN feature in the following cases:
1. Connection is a roaming connection
2. Connection is made with a 5G AP
3. Connection is made with a 2.4G AP, but the rssi is
   stronger than the hi_rssi_lookup_threshold

CRs-Fixed: 975401
Change-Id: I86c63d9f8b51b6bdccc804163241ffe5640baf4d
2016-05-23 11:46:46 -07:00
Varun Reddy Yeturu
ff4feb0a0e qcacld-3.0: Cleanup NCHO commands
Aggregate all the handlers of NCHO configration update
commands into a single routine

CRs-Fixed: 1007810
Change-Id: I9722dbead499f14f3969a85a20baf74aa03efff2
2016-05-23 11:46:41 -07:00
Abhishek Singh
23edd1cfa9 qcacld-3.0: Reduce the info level logs in STA/SAP
qcacld-2.0 to qcacld-3.0 propagation

Reduce the info level logs in STA/SAP

Change-Id: I5918ea8e9dd2f7654e5a994ad366f92d2ca3cd77
CRs-Fixed: 988195
2016-05-23 11:46:16 -07:00
Abhishek Singh
10ecf58dc6 qcacld-3.0: Add INI params to set edca min, max and aifs params
qcacld-2.0 to qcacld-3.0 propagation

Add INI params gEdcaVoCwmin, gEdcaViCwmin, gEdcaBkCwmin,
gEdcaBeCwmin, gEdcaVoCwmax, gEdcaViCwmax, gEdcaBkCwmax,
gEdcaBeCwmax, gEdcaVoAifs, gEdcaViAifs, gEdcaBkAifs and
gEdcaBeAifs to control edca params for STA mode.

These params will overwrite the values from AP only if
gEnableEdcaParams is set.

Change-Id: I1e688a67df320208416aba4ca40fd870a947e3be
CRs-Fixed: 996685
2016-05-23 11:46:12 -07:00
Manikandan Mohan
80dea79636 qcacld-3.0: Add WISA feature handling
Add support to enable WISA feature using QCA_NL80211_VENDOR_SUBCMD_WISA
and do scan blocking on WISA mode interface.

Change-Id: Ief105310fb71779b1a8c1d580408a489cad9977e
CRs-fixed: 997798
2016-05-18 16:33:19 -07:00