Commit Graph

349 Commits

Author SHA1 Message Date
Ajit Pal Singh
7c24ceadfb qcacmn: Fill the frequencies in the SCAN req correctly
Out of the list of scan channels passed by the application,
if the driver skips some channels, then the frequency list sent to
firmware was not correctly filled.
For example if supplicant passes channels 1, 6, 11 and we want to skip
1 and 6, then "req->scan_req.chan_list[0] = 0,
req->scan_req.chan_list[1] = 0 and req->scan_req.chan_list[2] = 11".
It should have been "req->scan_req.chan_list[0] = 11"
Fixes the same.

Change-Id: Idcef090169b8848c2576e620aa0fbe93918c219c
CRs-fixed: 2053866
2017-06-05 11:41:38 -07:00
Ajit Pal Singh
83eddc57a1 qcacmn: Add wifi configuration attribute restrict offchannel
This commit defines an attribute to
QCA_NL80211_VENDOR_SUBCMD_SET_WIFI_CONFIGURATION -
QCA_WLAN_VENDOR_ATTR_CONFIG_RESTRICT_OFFCHANNEL which can be used to
restrict offchannel operations on the AP/GO interface.

The goal is to restrict any operations which would cause the AP/GO to
leave its operating channel.

Change-Id: I88c2edb9456105068d0907b47dcd78cc09dc2428
CRs-Fixed: 2050999
2017-06-05 11:41:35 -07:00
Ajit Pal Singh
a09e859ba0 qcacmn: Always enable AVOID_FREQUENCIES vendor subcmd
Since AVOID_FREQUENCIES vendor subcmd might be needed even when
FEATURE_WLAN_CH_AVOID is disabled, always enable
QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY_INDEX in the vendor
subcmd list.

Change-Id: I4ac774d16540306fdb1301f9f182eeea8571388b
CRs-Fixed: 2045120
2017-05-30 22:01:14 -07:00
yeshwanth sriram guntuka
7375b0b3f5 qcacmn: Do not flush scan results for sched scan
Scan results are flushed as part of sched scan start
which could result in subsequent connect to fail as
bss is removed from scan list.

Fix is to not flush scan results as part of sched
scan start.

Change-Id: I0cbc0fb707db0be4890b840b72c8126a7c5ff54b
CRs-Fixed: 2045834
2017-05-29 05:01:17 -07:00
Abhishek Singh
9f6058d24d qcacmn: Add support for PMO suspend and resume scan API
Register PMO suspend and resume scan API. In suspend API, abort
all pending scans.

Change-Id: Iec03383a958f1bf93d77a86c351532270c7fdcb8
CRs-Fixed: 2038163
2017-05-19 13:51:42 -07:00
Abhishek Singh
ac80309005 qcacmn: Add runtime suspend logic for scan
Add runtime suspend logic for scan, to block runtime suspend when
scan is started and unblock when scan is completed.

Change-Id: I61c9afaf996d1ac97bfb5ffb0cd8a3abc971051e
CRs-Fixed: 2035675
2017-05-11 06:25:40 -07:00
Abhishek Singh
f95b9e4248 qcacmn: Add wait for cancel scan on pdev and vdev
Add cancel scan sync api which will wait for scan to be aborted on
pdev or vdev.

Change-Id: Ie02eb981154856cda38ef70f42fdfcf82bb88961
CRs-Fixed: 2038092
2017-05-11 02:13:25 -07:00
SaidiReddy Yenuga
e8deb197cf qcacmn: Add missing vendor commands and attributes to host from hostapd
Few vendor commands are missing in qca_vendor.h, compared
to qca-vendor.h file present in hostapd.

Add the missing vendor commands and attributes in
driver qca_vendor.h file.

CRs-Fixed: 2034479
Change-Id: Ib95e6cbbf163b904a22fb4eb65d96e9ff8dddf49
2017-05-08 14:59:01 -07:00
Ajit Pal Singh
2563e838ea qcacmn: Use macro WLAN_POLICY_MGR_ENABLE around policy_mgr API usage
Policy manager API usage in common scan module should be enclosed in
macro WLAN_POLICY_MGR_ENABLE, so that it can be optionally used along
with policy manager.

Change-Id: I76602657b4945a973f30d6b129a6b3896b9fdf9e
CRs-Fixed: 2042734
2017-05-08 14:58:59 -07:00
Om Prakash Tripathi
7d867d6729 qcacmn: cfg80211 scan change for WIN
Change-Id: I2d2863c7193de8e79c7ff76039f9b64ecaf90100
CRs-Fixed: 2001106
2017-04-28 03:43:53 -07:00
Ajit Pal Singh
aaf792b703 qcacmn: Reject remain on channel if Do_Not_Switch_Channel set
Remain on Channel request is rejected:
1) If an AP/GO interface is already active
 AND
2) Do_Not_Switch_Channel is set for the AP/GO interface
 AND
3) The requested channel is on the same band but different
from the AP/GO channel.

We allow one time procedures like GO Negotiation/Provision
Discovery/Invitation if the offchannel time is <= 150msecs

Change-Id: If19e9a06916891c5d3dbe6823fca72d70ead460d
CRs-Fixed: 2037302
2017-04-28 01:18:56 -07:00
Ajit Pal Singh
ec973b0aa7 qcacmn: Add API to check Do Not Break Stream eligibility
1) Adds new policy mgr API 'policy_mgr_is_chan_ok_for_dnbs' to check
if a channel is OK for "Do Not Break Stream".
It means that if Do_Not_Switch_Channel is set for AP/GO vdev,
the channel passed should be either the AP/GO channel or a channel
from the other band.
2) Adds a new function policy_mgr_get_mode_specific_conn_info() to get
the mode specific connection count.

Change-Id: I4da6f7d56d01b01761a5f3557b8acbb84226a6fd
CRs-Fixed: 2037302
2017-04-28 01:18:55 -07:00
Zhang Qian
9d973df7e7 qcacmn: Add attribute for LL stats
New attributes for qca_wlan_vendor_attr_ll_stats_ext are added.

Change-Id: I17a81fcec96076e14ff9f33d0aeb0983a25de912
CRs-Fixed: 2038824
2017-04-26 23:11:01 -07:00
Arif Hussain
d6b243219d qcacmn: Fix compilation with scheduled scan start delay
cfg80211_sched_scan_request start delay is added from
KERNEL_VERSION 4.4, and schedule scan plans is backported but
not the start delay.

This change is to make sure start delay accessed from request
only for KERNEL_VERSION 4.4 to avoid compilation issues with
CFG80211_MULTI_SCAN_PLAN_BACKPORT.

Change-Id: I3469ef457bb1f97fdddfb7491fbcaa2e64a16e8a
CRs-Fixed: 2038458
2017-04-26 15:11:45 -07:00
Kabilan Kannan
7e189c3436 qcacmn: Add TDLS off channel changes for TDLS UMAC
Add TDLS offchannel and related osif changes in TDLS
UMAC component.

Change-Id: Ic562709eb8a6361322860c4f7333633a7894af99
CRs-Fixed: 2034220
2017-04-20 00:04:56 -07:00
Kabilan Kannan
e81cb8eac8 qcacmn: Add os_if changes for tdls management
Add os interface changes to send tdls management
frames to tdls component

Change-Id: Ib675e4b089a88ad618f918d9992a777c7221b34c
CRs-Fixed: 2034220
2017-04-20 00:04:54 -07:00
Frank Liu
085a40c25d qcacmn: TDLS component: os_if layer
Implement TDLS related cfg80211 interface functions

Change-Id: I3ef38f670902ff486cad7c55473ce5805473aa17
CRs-Fixed: 2011330
2017-04-20 00:04:43 -07:00
Zhang Qian
7fc2e862cd qcacmn: Add new vendor cmd for LL stats
Vendor command QCA_NL80211_VENDOR_SUBCMD_LL_STATS_EXT(127) and
vendor attributes for ps change and TX failure indication are
introduced by this change.

Change-Id: Iaa1c14e5cdc5a7d04beebbff1149daf871f9ef5a
CRs-fixed: 1048388
2017-04-18 19:58:45 -07:00
Zhang Qian
b83f9e70ea qcacmn: Add attribute for propagation absolute delay
qcacld-2.0 to qcacld-3.0 propagation

A new 32-bit NL80211 vendor attribute is added to configure propagation
absolute delay for 2G/5G band (unit in us).

Change-Id: I2aecaa8b007c67fa2843ad3922857f923f9b8294
CRs-Fixed: 2034282
2017-04-17 22:07:49 -07:00
gaolez
db66e6123e qcacmn: Add 4 counts to link layer stats
qcacld-2.0 to qcacld-3.0 propagation

Add 4 counts to link layer stats which will be retrieved along with
other link layer stats fields by application to decide if channel
hopping needed.

Change-Id: Ic413b8ad98f1147715cf89c083aa9a77e60a2dc6
CRs-Fixed: 1094958
2017-04-16 22:47:41 -07:00
Sandeep Puligilla
ea68a2c6f2 qcacmn: Deinitialize the pdev scan private member
Added api to support the deinitialization of pdev scan
private member

Change-Id: Id887eab16f195fc5052f30900451625a586ed9fa
CRs-Fixed: 2033622
2017-04-14 15:06:52 -07:00
Naveen Rawat
d35749f195 qcacmn: Fix memory leak in wifi_pos send peer status api
In function os_if_wifi_pos_send_peer_status free buffer used to send
peer status indication to userspace after use.

Change-Id: Id90ea35aef4584d0ee7ef856d5cd12104eb089a4
CRs-Fixed: 2030121
2017-04-14 04:22:51 -07:00
Abhishek Singh
5468c57437 qcacmn: Register PNO callback only when PNO req is sent
PNO can be initiated from IOCTL with different calback and
thus register the callback while sending the PNO req.

Change-Id: I74109fc88cfbd082ce2ba5ca0a2396ab08b82b42
CRs-Fixed: 2032434
2017-04-13 16:27:01 -07:00
Wu Gao
5126329e8c qcacmn: support dequeue and start failed event for scan from STA
It doesn't process scan dequeue and start failed event, which cause
STA scan doesn't complete and blocking next scan work in
wpa_supplicant. For scan dequeue and start failed event with match
reason, indicate scan aborted to up layer.

Change-Id: I8861e277143116878f6714e50b600d77df69eeb1
CRs-Fixed: 2029955
2017-04-11 11:45:13 -07:00
Abhishek Singh
8c6e82d763 qcacmn: Add PNO changes for converged scan
Adds PNO related changes for converged scan

Change-Id: Ia18e48645d511134698777b334348d68daf2dbee
CRs-Fixed: 1095299
2017-04-11 11:04:33 -07:00
Naveen Rawat
52e9bb6d6f qcacmn: NDP_END_REQ implementation
Add implementation of NDP_END_REQ.

Change-Id: Ifa0bdcdee09c15c68bb12c63ba1157c71650c5bc
CRs-Fixed: 2014795
2017-04-11 11:04:24 -07:00
Naveen Rawat
f2bc82eb18 qcacmn: NDP_RESPONDER_REQ implementation
Add implementation for NDP_RESPONDER_REQ.

Change-Id: I27029eae88e0bc545c8444adf1342b2ec95f4d60
CRs-Fixed: 2014795
2017-04-11 11:04:23 -07:00
Naveen Rawat
06a5eb5071 qcacmn: NDP_INITIATOR_REQ implementation
Add implementation for NDP_INITIATOR_REQ.

Change-Id: Ieb4cb79d500fd75b23b4a3f8bfa414d14eb6fe18
CRs-Fixed: 2014795
2017-04-11 11:04:22 -07:00
Naveen Rawat
e830e98bcf qcacmn: Add implementation for NDI Create/Delete
Implement NDI create and NDI delete commands.

Change-Id: Icd4c745f4d25c0f10f12271fd4fcd7720ad85860
CRs-Fixed: 2014795
2017-04-11 11:04:21 -07:00
Naveen Rawat
7358d18e39 qcacmn: Add framework for NDP cmd execution
Add NDP command execution framework:
1) Define UCFG apis, that will be called from OS_IF layer
2) Define request proccessing functions to post to scheduler and callback.
3) Define request proccessing functions to post to serializer and callback.
4) Define functions handling activated, cancelled and timed out NDP req.

Change-Id: Ibc6fe32c65f8de0c24e0537f2eb538f806cf5284
CRs-Fixed: 2014795
2017-04-11 11:04:20 -07:00
Naveen Rawat
5b3602a617 qcacmn: Define NDP structures and enums and private obj
1) Define NDP structures and enum.
2) Define PSOC and VDEV private object

Change-Id: I3cb3c0e357f8b4598a0e4ec8abbd5b69e5de5180
CRs-Fixed: 2014795
2017-04-11 11:04:10 -07:00
Krishna Kumaar Natarajan
526307e52a qcacmn: [11AX] Add vendor command for userspace to get HE capabilities
Add new vendor command for userspace to get HE capabilities from host driver.

Change-Id: Id01b8b97c932bdcfb6b86ce578feabae0d913ea9
CRs-Fixed: 1073481
2017-03-25 00:37:17 -07:00
Naveen Rawat
2a1033ce7d qcacmn: Add new files for new NAN component
Add new files for new NAN component.

Change-Id: I817723e518d53e9348d817746fc8318171d6ddf3
CRs-Fixed: 2014795
2017-03-23 00:49:33 -07:00
Wu Gao
dfc571c521 qcacmn: mgmt frame txrx
Modify P2P IE and tx mgmt frame. Handles tx confirm and rx frame
events.

Change-Id: I0c0ada2e12ee5ebdd3e8d7b7a6f2bd2af4357548
CRs-Fixed: 2015297
2017-03-22 18:42:14 -07:00
Naveen Rawat
922724f2db qcacmn: Implement WIFI_POS commands
Implement following commands for WIFI_POS:
1) ANI_MSG_APP_REG_REQ
2) ANI_MSG_CHANNEL_INFO_REQ
3) ANI_MSG_SET_OEM_CAP_REQ
4) ANI_MSG_GET_OEM_CAP_REQ
5) ANI_MSG_OEM_DATA_REQ
6) ANI_MSG_PEER_STATUS_IND

Change-Id: I7e3b502660b169f4cdb654cb5f433446a24d2421
CRs-Fixed: 2003488
2017-03-22 01:36:36 -07:00
Naveen Rawat
a8423167a9 qcacmn: Implement Wifi Positioning Init/Deinit
Implement Init/Deinit for the WIFI Positioning component.

Change-Id: Iec0f4199935f63f7019de5ae16fc760817165954
CRs-Fixed: 2003488
2017-03-21 01:10:14 -07:00
Wu Gao
6c44a1c866 qcacmn: Add wireless device to vdev os interface
Add os structure about wireless device to vdev os interface pointer.

Change-Id: I4df915fc5dca0412707d9b894bf5be9bf24042c0
CRs-Fixed: 2014555
2017-03-16 06:20:20 -07:00
Wu Gao
396518b08f qcacmn: Defines os and target interfaces
Defines API and callbacks of os interface for P2P component. At the
same time, defines API of target interface.

Change-Id: Ice1c86ecba1f2410d965d9f84923589f229a1864
CRs-Fixed: 2013763
2017-03-15 17:10:14 -07:00
Abhishek Singh
673bd512f3 qcacmn: Fix QDF assert in wlan_abort_scan if vdev is NULL
If vdev is NULL calling calling wlan_objmgr_vdev_release_ref
cause assert.

To fix avoid calling wlan_objmgr_vdev_release_ref if vdev is NULL.

Change-Id: I8bd40ac27a6733177ac55c791c7c3ddfe5bbba30
CRs-Fixed: 1095299
2017-03-15 04:26:40 -07:00
Selvaraj, Sridhar
2a0301a389 qcacmn: Assign enum value to qca_wlan_vendor_config
Due to propagation misses, the enum values are not properly aligned
with the corresponding counterparts in supplicant.

Assign the enum values so as to avoid value mismatch.

Change-Id: I12be6c8a08026797cff507a69d01a4d1df2c44e0
CRs-Fixed: 2015066
2017-03-14 01:50:59 -07:00
Abhishek Singh
f9297e523b qcacmn: Add changes in scan req to support P2P search scan
Add changes to support P2P search using new scan module.
To support p2p search added vdev id and Broadcast mac address
in scan req also enable flags depending on scan req type.

Change-Id: I597f9f353da1b8b129f0ee16cd8eb7b7bbad2625
CRs-Fixed: 1095299
2017-03-10 04:27:24 -08:00
Naveen Rawat
89284c2621 qcacmn: Add new files for Wifi Positioning component
Add new files for Wifi Positioning component.

Change-Id: I62d808a5ce01ce7211e22df960dd337454e1f8b5
CRs-Fixed: 2003488
2017-03-08 19:30:51 -08:00
Abhishek Singh
54c28ccd14 qcacmn: Add vdev in abort scan request
Abort scan req requires vdev pointer to remove the cmd from
serialization. Thus add the vdev pointer in the abort scan req.
If vdev id is invalid to abort all scan on a pdev use the first
vdev of the pdev.

Change-Id: I4462ceb24084e68dfc6b20f5b69d050c0daff2d1
CRs-Fixed: 1095299
2017-03-07 10:49:45 -08:00
Abhishek Singh
483d914ab7 qcacmn: Improve logging in scan done callback and BSS ageout
Improve logging in cfg80211 scan done callback, by decreasing the
log level to info from error and printing only the scan complete
events.
Also print a log when BSS is aged out.

Change-Id: If2734df1168bd354415305211b50f6c79bee2df0
CRs-Fixed: 1095299
2017-03-07 10:49:44 -08:00
Sandeep Puligilla
7acd31fa33 qcacmn: Add cfg80211 scan start and stop command
Add cfg80211 scan start and scan stop commands.

Change-Id: I20b6c7743496ae82cc3a93befb5b68812047ec1a
CRs-Fixed: 1095299
2017-03-02 16:11:46 +05:30
Abhishek Singh
9eb058adca qcacmn: Add changes to indicate beacon frame to cfg80211 layer
Add changes to indicate beacon frame to cfg80211 layer from scan
module.

Change-Id: Ia36e957bd2324130c8c3175569ce38267cd3cf53
CRs-Fixed: 1095299
2017-02-28 12:05:46 -08:00
Vivek
3e5a3ba077 qcacmn: Define os private structure in pdev object
-Define OS private memory structure and provide pointer
 to store the private data of each umac module's os specific data
-Initialize pdev's os private structure member 'wiphy'.
-Move vendor command definition to common project.

Change-Id: I2033bfbf0fe38e82c3a14942ac9f9bfda45e2c6c
CRs-Fixed: 2002991
2017-02-23 03:06:53 -08:00
Sandeep Puligilla
2e1088dd4b qcacmn: Scan module init and deinit
Scan module init and deinit

Change-Id: Id3f4b88796c1145f487c02785084320ee8b21037
CRs-Fixed: 2008137
2017-02-20 07:29:17 -08:00
Om Prakash Tripathi
3b3cd39741 qcacmn: North bound interface frame work
Add North bound interface frame work for convergence.

Change-Id: I550f37077b2878ed2ad3ebcc4aa3f2e4158d041e
CRs-Fixed: 1098688
2016-12-22 21:51:43 -08:00