Commit graph

3,142 commits

Author SHA1 Message Date
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
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
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
Nandha Kishore Easwaran
e9f8070cee qcacmn: For STA mode, set ucast key for bsspeer macaddr in crypto
setkey

Change-Id: Idffa8bce38bb73d35c23678267a08f3b20be0e56
2017-07-24 07:52:44 -07:00
Yingying Tang
96b8cea9be qcacmn: Fix "__aeabi_uldivmod" symbol error
There is an unknown symbol error "__aeabi_uldivmod" due to
a division operation between uint64 value in wlan driver.
Add qdf API to use do_div to avoid "__aeabi_uldivmod" symbol
error.

Change-Id: I24e51990ff9e0ecea327ad9c71266fd768d62a6c
CRs-Fixed: 2013952
2017-07-24 07:52:42 -07:00
Ashish Kumar Dhanotiya
1c5d902876 qcacmn: Add proper api for ktime_get_boot_ns for kernel 3.10
Kernel api ktime_get_boot_ns is not supported in kernel version 3.10
so add correct api for kernel 3.10.

Change-Id: Id78d50d759db90a9c6edf4114f8af1a925dfb9bb
CRs-Fixed: 2076538
2017-07-24 02:37:31 -07:00
bings
60da5a87c4 qcacmn: Fix crash caused by sdio ramdump allocation
For TF sdio chip with platform driver, ramdump is
configured in platform driver. Driver can get the
virtual memory, but it can't call ioremap again.

If there is a platform driver, ramdump should be
allocated in platform driver, and if there is no
platform driver, ramdump should be allocated in
driver.

CRs-Fixed: 2060381
Change-Id: Ia2a32a4895f354e365522a30bbfac949ccb7a391
2017-07-23 20:14:47 -07:00
Shashikala Prabhu
8216667362 qcacmn: Add API to get current regdomain
Add API to get regdomain pair ID, 2GHz/5GHz regdomain,
2GHz/5GHz ctl values and dfs domain. For Partial-offload,
during country code change HOST sends these values to FW.

Change-Id: I718813d7559ea1564e0952221a881589c6f3cd0d
CRs-Fixed: 2058130
2017-07-23 13:57:18 -07:00
Abhijit Pradhan
af06bcbb63 qcacmn: Add API to get current dfs domain
Add API to get current DFS domain from regulatory component

Change-Id: Iabe4abb0966791e68130ff2d1a7305768893bfcc
CRs-Fixed: 2078153
2017-07-23 13:57:17 -07:00
Shashikala Prabhu
8c01b66c0e qcacmn: Fix DFS kernel panic
Due to dfs and 'ic' flag mismatch, ieee80211_find_channel()
was returning channel as NULL.

Change-Id: I2c8a09b5a1018d7daf2a925bcad7063a6b0e2988
CRs-Fixed: 2067959
2017-07-23 13:57:16 -07:00
wadesong
6211cb6b56 qcacmn: Fix build errors generated by gcc 6
Gcc 6 introduces some stricter checking for bool value
comparison, causing build errors when a certain code
block in CLD3.x driver is compiled.

Change-Id: I270e20dab8410f45e734c15d5365e30e314b55c8
CRs-Fixed: 2051383
2017-07-23 09:58:38 -07:00
Aniruddha Paul
0b1c4d22bb qcacmn: Dual radio mode with 5g NSS offloaded and 2g Non-Offloaded
Disable interrupt mask for rings used by NSS offloaded radios

Change-Id: I1491177c9faf242635a486b8cfffa2e849fe123e
CRs-Fixed: 2077274
2017-07-22 17:58:30 -07:00
Naveen Rawat
9da3f01914 qcacmn: Add wlan utility API to retrieve vdev from interface name
Add wlan utility API to retrieve vdev object from interface name. This
can be used by NAN vendor commands where user space provides interface
name.

Change-Id: I003ab9602c5bd5afd046f588b58677514581a742
CRs-Fixed: 2070770
2017-07-21 23:25:54 -07:00
Aniruddha Paul
662d734e4e qcacmn: Fix for NSS peer create message
Change-Id: I5c1c632e9d78fddc9db8ffc898dc26352d6c0a85
2017-07-21 20:15:19 -07:00
Ravi Joshi
73a055137c qcacmn: Fix issues in rxdma monitor status ring init
Fixing issues in the the rxdma monitor status ring initialization.

CRs-Fixed: 2073952
Change-Id: I9fc3a83d8063bf8fd07a7cdb7c3a0dcf3cc874ed
2017-07-21 20:15:17 -07:00
Wu Gao
a5e5c6410a qcacmn: Free events logs list of wmi handle
Free events logs list of wmi handle, avoid memory leak.

Change-Id: I7660239f3808ebf0f56baf5900c1290218507406
CRs-Fixed: 2062407
2017-07-21 20:15:16 -07:00
Venkata Sharath Chandra Manchala
6560d45bd2 qcacmn: Remove duplicate prints in tx path
Avoid printing skb info twice upon
entering the dp_tx_send API.

Change-Id: Ia719025f034f45fea5a947b3e40fbeb693dfceca
CRs-Fixed: 2076271
2017-07-21 18:34:26 -07:00
Abhijit Pradhan
fe7233a795 qcacmn: Fix DFS kernel panic
As part of DFS component destroy, "ic" is accessed to reset
NOL list and PRECAC channel list, but "ic" is already deleted
as part of MLME component destroy. And therefore invalid memory
access happens.

Reset NOL list and PRECAC channel list before "ic" deletion.

Change-Id: I1dbf273f1ea51945493140bfce9bfa116ad0c488
CRs-Fixed: 2071164
2017-07-21 17:07:00 -07:00
Abhijit Pradhan
c5152c7904 qcacmn: DFS code cleanup
* Remove nif and sif keyword.
* Combine nif_dfs_detach and sif_dfs_detach.
* Combine nif_dfs_attach and dfs_attach.

Change-Id: Ibf4638a64fac976846bfcb1eae91f3f3bb3e994e
CRs-Fixed: 2071164
2017-07-21 17:06:59 -07:00
Keyur Parekh
db0fa14b0e qcacmn: Pktlog modified to work for per pdev in wifi3.0
change pktlog CE ring to 5 from 11

Change-Id: I3cd3287cdda413ef9ac4ed204177300c85abfb24
2017-07-19 18:14:13 -07:00
Manoj Ekbote
2a372d279b qcacmn: Flush the REO cmd list during detach
When suspend is done, and if there are any outstanding
REO commands to HW, there could be a leak from allocated
buffers. FLush the buffer list during detach.

Change-Id: I62a7b612c401a36f5098163e017c3b42d7d3750d
2017-07-19 16:23:19 -07:00
Pratik Gandhi
97fa0b0162 qcacmn: Smart Mesh Unlock mutex after NAC filtering
Mutex needs to be unlocked in NAC filtering success path, before
sending packet to stack.

Change-Id: I7bf2e84ee5889b78a956a7c757bb22231c45022e
CRs-Fixed: 2017269
2017-07-19 15:32:25 -07:00
Kiran Venkatappa
a4cd297f84 qcacmn: Fix ME buf pool initialization
Free list created from ME buf pool expects next pointer to be first
element in the me buf. Change me buf structure to keep next pointer as
the first element. Also, Fix offsets in ME free list creation.

Change-Id: I2dffd0c04ba8514d0d1a5f5e6b14380902d1ec06
CRs-Fixed: 2077675
2017-07-19 10:39:32 -07:00
Bharat Kumar M
dd67f457f8 qcacmn: decrease the size of tx comp ring for nss
NSS requires the ring size to be power of 2.
The tx comp ring size is reduced to 4096
when nss is enabled.

Change-Id: Ied70faefdfe68eb2b7929ff6af4bed5a9e75068e
2017-07-19 09:42:37 -07:00
Manjunathappa Prakash
5f050a8187 qcacmn: Include cdp_txrx_flow_ctrl_v2.h only if V2 flow control enabled
Fix compilation error failing for V2 flow control data structures.

Change-Id: I6cca1f7183b483f5e2403d95cd6ec77a959e47a0
CRs-Fixed: 2078435
2017-07-19 00:40:54 -07:00
Rajeev Kumar
e501f2c62f qcacmn: Create WMI debugfs only if WLAN_DEBUGFS is defined
WMI FW log debug FS is created irrespective of WLAN_DEBUGFS is defined
or not. Make sure to only create WMI log debugfs only if WLAN_DEBUGFS
is defined.

Change-Id: I8d7d5ef160ce2674b3f01dc7afa3ac4761538cab
CRs-Fixed: 2066664
2017-07-18 23:46:22 -07:00
Varun Reddy Yeturu
b586792e63 qcacmn: Fix number of buffers in ROAM_INVOKE command
Fix the number of buffers being passed in ROAM_INVOKE command
to the firmware. Fill it only if there is a valid beacon or
probe response being sent to the firmware

Change-Id: I0f569b847091bb9eb92a92de949c90ace0ab51fe
CRs-Fixed: 2077075
2017-07-18 23:45:37 -07:00
Manjunathappa Prakash
133af812fb qcacmn: Do not include cds_api.h in dp_tx_desc.h
WIN compilation fix, cannot include cds_api.h in dp_tx_desc.h

Change-Id: Ia3a83a07f3353e72267daaf14a908c9144bb3e46
CRs-Fixed: 2078435
2017-07-18 23:35:17 -07:00
Varun Reddy Yeturu
aa4811806e qcacmn: Fix CLANG warnings in wmi_unified_tlv.c
Fix implicit conversion from enumeration type 'A_STATUS' to different
enumeration type 'QDF_STATUS'
Fix implicit conversion from enumeration type 'QDF_STATUS' to different
enumeration type 'A_STATUS'
Fix implicit conversion from enumeration type 'WMI_START_EVENT_PARAM' to
different enumeration type 'WMI_HOST_START_EVENT_PARAM'

Change-Id: I1d8c7781baaaf6461273298e8eb82ff841d3c8fc
CRs-Fixed: 2063149
2017-07-18 23:35:16 -07:00
Nachiket Kukade
13e5613615 qcacmn: Remove QDF_BUG from htc_wait_recv_ctrl_message
Currently if Firmware is down during probe, driver will BUG_ON and
re-probe will not happen. Remove QDF_BUG to allow driver to fail
gracefully, allowing re-probing by the platform driver.

Change-Id: I65fca58168f1c8413eef4790c0f428e64a58f3a7
CRs-Fixed: 2027472
2017-07-18 23:35:15 -07:00
Srinivas Pitla
6856482065 qcacmn: Object Manager debug print changes
1) Rate limit object manager logical delete state prints

   On object search/requesting reference in tasklet leads to many prints
   for logically deleted objects causing timing related issues.

   As these prints needed for debug, This change would rate limit the prints

2) Print all objects ref counts

3) Fixed style issues got introduced in other gerrits

Change-Id: I929976875f8da3ce2114d540735515d792836762
CRs-Fixed: 2068364
2017-07-18 23:35:14 -07:00
Rajeev Kumar
607d7cef03 qcacmn: Log QDF trace error/fatal messages using pr_err
Currently QDF trace error/fatal log messages are logged using
pr_info and bydefault these logs do not show up on console.
Hence log QDF trace error/fatal log messages using pr_err
such that bydefault these logs show up in console.

Change-Id: I220e5eb93ea21d01b948c40432179f294530ba0d
CRs-Fixed: 2070065
2017-07-18 23:35:13 -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
Rajeev Kumar
fd40df4bbc qcacmn: Log leaked SKB counts before calling QDF_BUG
If SKBs are leaked then 1st log number of SKBs leaked
and then trigger QDF_BUG.

Change-Id: I355e33727b7772af7bd58b9eabbd109bfa3ea2f0
CRs-Fixed: 2065760
2017-07-18 23:35:10 -07:00
Srinivas Girigowda
ad612a2371 qcacmn: Update MODULE_LICENSE to "Dual BSD/GPL"
Update MODULE_LICENSE to "Dual BSD/GPL".

Change-Id: I8ee3bbc9881d97b771ad61fd43b7b0ca0d00dc73
CRs-Fixed: 2077923
2017-07-18 23:35:09 -07:00
Ashok Ponnaiah
26e6be4b76 qcacmn: Add WAPI support in crypto convergence
Added WAPI support in crypto convergence.
Included WAPI IE parsing and adding WAPI IE.

CRs-Fixed: 2073813

Change-Id: I23cecb45d0a2282fffba5c2e95ad8592801c0818
2017-07-18 23:35:08 -07:00
Ashok Ponnaiah
4db9b8ff28 qcacmn: Set default key bit only for default key
Set default key bit only for default key. For rest of the peer
keys don't set default bit

Change-Id: If8b608d60eddea1a04202ff322de7b09d471b40e
2017-07-18 23:35:07 -07:00
Kapil Gupta
de02d4f62b qcacmn: FILS indication IE changes
Add changes to add FILS indication info element in scan result.

Change-Id: I341c30fe23ac8bfe518752d783d23094cbc2ac98
CRs-Fixed: 2068436
2017-07-18 23:35:06 -07:00
Manjunathappa Prakash
ced7ea6cf2 qcacmn: Add changes for Napier flow control
Adds support for flow control on convergence branch.
Allocate Tx descriptors dynamically when vdev comes up.
Tx queue is paused and unpaused internally in host based on the
stop and start thresholds.
Changes are added under compilation flag QCA_LL_TX_FLOW_CONTROL_V2.

Change-Id: I0ccb80b0099f39efad52ccd7d47f2709fdee2a93
CRs-Fixed: 2040457
2017-07-18 23:35:05 -07:00
Linux Build Service Account
43e9c64f30 Merge "qcacmn: Fix PMF in crypto convergence" 2017-07-16 15:52:24 -07:00
Linux Build Service Account
6e5563fc0f Merge "qcacmn: WAR for RXDMA packet drop issue" 2017-07-16 15:52:24 -07:00
Nandha Kishore Easwaran
cf08b7385e qcacmn: convert target HT cap bitmap to host bitmap
HT cap bit map is different for tlv and non-tlv based firmware.
Convert target cap to host cap bitmap to abstract out the differences.

Change-Id: Ia803efa3a895c7faa159d8051277d2a926b365a5
2017-07-15 19:35:20 -07:00
Abhijit Pradhan
1e656c2eed qcacmn: Fix channel mismatch issue
Number of reg rules in APL16 regdomain was 3. Therefore,
supported channels shows from 36 through 116.
Updated number of reg rules to 5 to enable the channels
from 36 through 165.

Change-Id: I1d7d95629e19facf7751ccae6f60aeef6eda1ba3
CRs-Fixed: 2075975
2017-07-15 14:36:27 -07:00
Pamidipati, Vijay
eb8a92cedc qcacmn: Add support for delivering unencrypted errors
In mesh mode, it is possible to receive unencrypted frames while security
is enabled. Deliver such frames to OS stack.

Change-Id: Id148b6ecc1432b419ae97c92f2340155f3d851bf
CRs-Fixed: 2004658
2017-07-15 14:36:26 -07:00
Nandha Kishore Easwaran
403b085d0a qcacmn: Change trace level of dp_trace to debug
Changing the trace level of dp_trace from none to debug so that
packets are visible in live mode when debbug is enabled

Change-Id: I6e5de90292580006690c03021f0e5e837dbcefbf
CRs-fixed: 2076734
2017-07-15 11:38:58 -07:00
Pamidipati, Vijay
b8bbf16192 qcacmn: Add support for WDS aging
Add support for monitoring receive traffic from WDS nodes and
aging out inactive WDS nodes

Change-Id: Iedea826832a5421714c00bccadc6e0dc4acd4c7e
CRs-Fixed: 2004658
2017-07-15 11:38:57 -07:00
Kiran Venkatappa
a7b6842a72 qcacmn: Initialize msdu_info in dp_tx_send_multiple
Initialize msdu_info before calling API to queue frames in HW. msdu_info
provides tid info which was going as random value to HW causing target
assert. Intialize it so that proper value is used.

Change-Id: I5028508f05b7b8ff2be123c21b3aed75adeb54d8
CRs-Fixed: 2076799
2017-07-15 10:05:33 -07:00
Nandha Kishore Easwaran
786c9550d6 qcacmn: Fix wlan_crypto_setkey to set ucast key for correct macaddr
Ucast key was not being set for correct peer macaddr.
Changed key flags for bcast to include WLAN_CRYPTO_KEY_GROUP
and set keys for correct peer.

Change-Id: I6859dc837ee6678dc11f9aadbb2a6bc0d0e9885f
2017-07-15 10:05:32 -07:00
Gurumoorthi Gnanasambandhan
5214f28e3e qcacmn: Remove hardcoded stats_id in send_get_stats_cmd_tlv
Initialize stats_id based on stats_mask instead of hard coded value in send_get_stats_cmd_tlv

Change-Id: Ibe007311ecdc848dee34502dd3f288c99a6fe7e4
2017-07-15 10:05:31 -07:00