Commit Graph

74 Commits

Author SHA1 Message Date
Kabilan Kannan
298329e692 qcacmn: Restructure TDLS function to fix the compilation issue
When TDLS disabled at the build level, it triggers
build failures in some of the projects, which does
not support TDLS feature.
Restructure the TDLS function to avoid build
failures, when TDLS is not enabled.

Change-Id: I3b63546f22d0187fb42d400fd7e15ff7a3d64653
CRs-Fixed: 2056022
2017-08-08 16:05:06 -07:00
Linux Build Service Account
66859b73f2 Merge "qcacmn: SmartMesh Extract status for radiotap headers" 2017-07-26 11:40:30 -07:00
yeshwanth sriram guntuka
8bdb0697af qcacmn: Add vendor features to indicate OCE support
Vendor features are used to indicate OCE support
from driver to user space which are set based on ini
params for STA and SAP.

Change-Id: I7ef572443c8a7ed313917e4dfab5f4fab73fe245
CRs-Fixed: 2031980
2017-07-26 08:14:50 -07:00
Linux Build Service Account
dcc4bb25d8 Merge "qcacmn: Check NAN iface with same name before creating another one" 2017-07-25 21:59:25 -07:00
Naveen Rawat
b948a1f9ad qcacmn: Check NAN iface with same name before creating another one
There were some corner cases reported in which NDIs are getting
created with same name. Providing fix for the same.

Change-Id: I84ea80580faa44809e257d3b17645808637b5d51
CRs-Fixed: 2072509
2017-07-25 13:33:54 -07:00
Naveen Rawat
2171e391a8 qcacmn: Enable support for multiple NAN Data Interfaces
Enable support for multiple nan data interfaces. The usespace
may need to create multiple NDIs depending on whether it
requires IP isolation or not.

Change-Id: I4391f2efdc6bdede52a73915531d39dd7798c39d
CRs-Fixed: 2072501
2017-07-25 13:33:53 -07:00
Linux Build Service Account
fcb66972c2 Merge "qcacmn: Add GET_STATION_REMOTE vendor subcmd" 2017-07-25 06:49:01 -07:00
Will Huang
7c17db65c7 qcacmn: Add GET_STATION_REMOTE vendor subcmd
qcacld-2.0 to qcacld-3.0 propagation

Add QCA_WLAN_VENDOR_ATTR_GET_STATION_REMOTE sub command for peer
station of SoftAP information stats feature, and add related
attributions of this command.

Change-Id: I516d459be2e6556a7e33d285c3ffeacc1ab0f9a5
CRs-Fixed: 2075888
2017-07-25 05:43:11 -07:00
Linux Build Service Account
2f4d5e4f54 Merge "qcacmn: Fix transaction id descrepancy during NDI create" 2017-07-21 02:05:06 -07:00
Linux Build Service Account
90ac7473ba Merge "qcacmn: Allow nan data interface delete with peers attached" 2017-07-21 02:05:05 -07:00
Naveen Rawat
eac514c1a9 qcacmn: Make ndp channel config parameter optional
The ndp channel config has no meaning if ndp channel itself
is optional. Host will send ndp channel config as "optional"
to FW if it is missing in the ndp command.

Change-Id: I59e245f3fb05ae35aa185fba7bad09608f5334c8
CRs-Fixed: 2072502
2017-07-18 23:35:12 -07:00
Naveen Rawat
fa96ab6601 qcacmn: Fix transaction id descrepancy during NDI create
Driver truncated the transaction id to 8-bits from 16-bit
value causing the descrepancy in transaction id exchange
during NDI create.

Change-Id: I502f422620411c39bd0e75f06e9b7200bfea24ae
CRs-Fixed: 2072511
2017-07-10 10:03:02 -07:00
Naveen Rawat
26cac01ab2 qcacmn: Allow nan data interface delete with peers attached
Service layer was not allowed to delete NDI if there are active
NDP sessions (peers). Service layer is expected to delete the
active NDP sessions before issuing NDI delete. However, that
is not guaranteed to happen. Hence allowing internal cleanup
to happen by allowing the command to firmware.

Change-Id: Iab9bc3bca431475792c164d16cdd18be2f346188
CRs-Fixed: 2072505
2017-07-10 10:02:36 -07:00
Naveen Rawat
7b62aff6c7 qcacmn: Add Passphrase and Service Name parameter to NDP cmds
Add Passphrase and Service Name to NDP initiator request and NDP
responder request.

Change-Id: I6a189747760a15393fcbac9dc382847fef789ab1
CRs-Fixed: 2072498
2017-07-08 01:45:00 -07:00
Ravi Kumar Bokka
4a517a223e qcacmn: Auto Detect SoC Power Collapse Failure changes
Add host support for detecting SOC power collapse failures in FW and
communicating the same to framework.

Change-Id: Icee39c896802c4d7136e0b8ef442a33feeb4799c
CRs-Fixed: 2016580
2017-06-27 22:13:06 -07:00
Vivek
b02a649f89 qcacmn: Remove vdev/peer locks for trivial APIs
Remove vdev/peer locks from trivial API's. This follows the changes from
which the lock requirement from few simple APIs are removed.

Change-Id: I9972d51dfd1a42bdedbfd0fd4e67af03d030a1f5
CRs-Fixed: 2060880
2017-06-26 23:32:22 -07:00
Vivek
5ec0bd3636 qcacmn: Remove psoc/pdev locks for trivial APIs
Remove psoc/pdev locks from trivial API's. This follows the changes from
which the lock requirement from few simple APIs are removed.

Change-Id: Ib5769c2234c8d57f485c0eef5a4e3c61fa170508
CRs-Fixed: 2060880
2017-06-26 23:32:19 -07:00
Jeff Johnson
a7acc98b0d qcacmn: Properly validate QCA_WLAN_VENDOR_ATTR_NDP_IFACE_STR
Currently the QCA_WLAN_VENDOR_ATTR_NDP_IFACE_STR nla_policy specifies
a type of NLA_STRING, but the underlying implementation expects a
NUL-terminated string. Update the policy to correctly use a type of
NLA_NUL_STRING with the len updated to remove the allocation needed
for the terminating NUL.

Change-Id: Ic73241511ab73ae63fd7c1a8d6422da91931919c
CRs-Fixed: 2063588
2017-06-26 19:34:12 -07:00
Jeff Johnson
f155c675e5 qcacmn: Validate vendor abort scan command
In wlan_vendor_abort_scan(), nla_parse() is invoked without specifying
a policy. This can result in a buffer overread when processing the
QCA_WLAN_VENDOR_ATTR_SCAN_COOKIE attribute. To avoid this issue
introduce a "scan_policy" (replicated from qcacld-3.0) and use this
policy when invoking nla_parse().

Change-Id: Ia3e5cb7535bf0f700399e4a49c9c5da362a3ccf6
CRs-Fixed: 2059857
2017-06-26 11:07:16 -07:00
Ajit Pal Singh
890fc8d420 qcacmn: Filter sched_scan channels when DNBS set
Filter channels passed to firmware for scheduled/offloaded scans,
when Do_Not_Break_Stream is set.

Change-Id: I36d434b9f7c25ff7de5ccb4d20a2ae41b2712662
CRs-Fixed: 2064380
2017-06-22 09:51:07 -07:00
Abhishek Singh
fb9d5acfed qcacmn: Add API to deint scan runtime suspend lock
Add API to deint scan runtime suspend lock, which can be called
before HIF is closed, to avoid crash while acessing HIF pointer.

Change-Id: Ida9269cdaea33a387e2acd1e3d9670d152b6016f
CRs-Fixed: 2065228
2017-06-22 06:35:01 -07:00
Kapil Gupta
c427841d4a qcacmn: Correct vendor attribute for external ACS
Add changes to correct vendor attribute to support external
ACS as defined in qca-vendor-copy.h

Change-Id: I68d04694004e9b44efed7b816b180648c0b59623
CRs-Fixed: 2049159
2017-06-20 17:52:09 -07:00
Sandeep Puligilla
0014f6238e qcacmn: Add validation check at NL scan event callback
Scan event is updated to NL on a closed
wireless dev.

Add validation check at scan event callback
before updating the scan events to NL.

Change-Id: I979b53ecb481007f663feb927b6e3e96cf73616b
CRs-Fixed: 2057127
2017-06-16 07:33:35 -07:00
Sandeep Puligilla
15677ec859 qcacmn: Add protection to access scan queue
scan request queue is accessed in multiple
process contexts so added mutex to scan request
queue. Scan request mutex needs to be acquired
before accessing the scan request queue.

Change-Id: I3f0fe0513d5846f4eaf313848f00f86d29a66e35
CRs-Fixed: 2057127
2017-06-16 07:33:34 -07:00
Dustin Brown
f3351d97d7 qcacmn: Expose scan_backoff_multiplier for NLO/PNO
For Network Listen Offload and Perfered Network Offload, the fast scan
period is multiplied by scan_backoff_multiplier after max cycles have
occurred. Expose scan_backoff_multiplier to consumers of the WMI API,
so this parameter can be configured.

Change-Id: I478fb61cd096d3496205f4ff556e180dabf99b77
CRs-Fixed: 2035201
2017-06-09 21:36:26 -07:00
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