Commit Graph

3550 Commits

Author SHA1 Message Date
Vignesh Viswanathan
051ef2e644 qcacmn: Support FILS roaming
Add cmn support for the following:
- Update ERP info in RSO Start
- Update HLP info in a new command WMI_PDEV_UPDATE_FILS_HLP_PKT_CMDID
- Set/Delete PMK cache info with WMI_PDEV_UPDATE_PMK_CACHE_CMDID
- Process FILS TLV in Roam Synch Indication and update the FILS info
  [seq number,PMK, KEK, realm] to Supplicant.

Change-Id: I239bf5d6c4455d39181e335dbf73bcade16aee8e
CRs-Fixed: 2089128
2017-10-18 18:28:54 -07:00
c_cgodav
3f2a92dd13 qcacmn: Clean up of magpie/k2 related code and files
Since support for magpie/k2 are EOL WLAN for past several
releases, we do not expect customer revisiting these products.
So all the code under ATH_SUPPORT_HTC has been removed.
Tests done:
MIG has passed

CRs-Fixed: 2105074

Change-Id: Idc6a1f28eda5cb09edf5375c142d9cb12d81ce0b
2017-10-18 02:03:11 -07:00
Kiran Venkatappa
6cbb319e7a qcacmn: Add fw build version in (ext) service event data
FW reports build number in service ready and ext_service ready event.
Save these to display FW build version during brinup.

Change-Id: Ia86a392f826c5bb836be9353e3938ab1f811ab62
CRs-Fixed: 2125667
2017-10-18 02:03:09 -07:00
Houston Hoffman
ef615e7655 qcacmn: Use atomic set bit ops for mc thread
The basic qdf bit ops are not atomic.  Race conditions
can lead to messages stuck in queues without mc thread
being woken up.

Change-Id: I42093b863c7ed93c5c2baf0bd14106eb4fe082fc
CRs-Fixed: 2118014
2017-10-17 21:49:24 -07:00
Sandeep Puligilla
4296edb2c9 qcacmn: vendor support to block scans
Add vendor command support to block all the
scans triggered from host.

Change-Id: Id225ebade05f6cba11382b0dd8f67e9d1ee006e4
CRs-Fixed: 2080146
2017-10-17 11:48:44 -07:00
Nandha Kishore Easwaran
b39fce7bc3 qcacmn: Add mac address check in mec handler
Add a check in mec handler to see if mac_address is same as that of
vdev_macaddr.raw. If both mac addresses are equal, then add_wds_entry should
not be called. This corner case is seen in qwrap mode where the vdev address
is same as that of the backend wired station

Change-Id: I17504de8ef379680c2a2b962280e1853a5b2930d
CRs-fixed: 2109554
2017-10-17 10:42:32 -07:00
Wu Gao
02782bed09 qcacmn: Initialize variable in cfg80211 roc and mgmt tx
To avoid unexpect issue, initialize variable in cfg80211 roc and mgmt
tx.

Change-Id: I5cc11cf011a136f29f6815142a45918ed71583fa
CRs-Fixed: 2091906
2017-10-17 10:42:30 -07:00
Aniruddha Paul
e3a0334ad0 qcacmn: Fix for interrput masking of NSS Tx/Rx rings
Added logic to reset the host interrupt mask bits for
NSS offloaded rings (WBM Tx completion ring and REO Destination ring)

Change-Id: I96ae29051b6294647cf0610d3cda6c2a995f77a8
CRs-fixed: 2121607
2017-10-17 06:44:19 -07:00
Wu Gao
fcfdd4e018 qcacmn: Add debug functions to P2P component
In order to facilitate debugging P2P issues, add debug information to
P2P component.

Change-Id: I0192b1ee25bb74dc512b01ad451b03d1a45a5446
CRs-Fixed: 2105782
2017-10-17 06:44:17 -07:00
Mahesh Kumar Kalikot Veetil
44c6d56027 qcacmn: Fix a double free crash
The atomic flag 'mem_struct->in_use' should be accessed only after
a sanity check for 'mem_struct' in the function qdf_mem_free(). There is
a possibility that a double free can cause panic before the debug
logic kicks in.

Change-Id: I162b7e72e0f28f8808a7ae56efabb6620d17a6bd
CRs-Fixed: 2073968
2017-10-17 03:02:10 -07:00
Aniruddha Paul
b2f7ab65cf qcacmn: Added new debug module id for NSS
A new debug module ID is added for NSS offload.

Change-Id: Ie14aa4fda6ff9d68eb8b810fa3e7071addf8e1c6
CRs-Fixed : 2125829
2017-10-17 03:02:08 -07:00
Mahesh Kumar Kalikot Veetil
457b5a25c0 qcacmn: Add debugfs API definition
Implement debugfs APIs abstraction for Linux. If a particular operating
system is not supporting debugfs or similar feature, these API's will
be a no-op.

Change-Id: I51316012876fec258e546fce8fc2f877e4311343
CRs-Fixed: 2097140
2017-10-17 00:07:47 -07:00
Mahesh Kumar Kalikot Veetil
68bb47153d qcacmn: Add debugfs APIs
Add qdf abstraction for debugfs APIs such as create file, create
directory, create types and remove files/directory. If a particular
operating system is not supporting debugfs or similar feature, these
API's will be a no-operation.

Change-Id: I09fe366b85d4914ebdab52d3fb23acab72aa2116
CRs-Fixed: 2097140
2017-10-17 00:07:45 -07:00
Mahesh Kumar Kalikot Veetil
164ecb724a qcacmn: Add QDF file permissions
Add file permissions and a function to map that to Linux OS. Also
define a type for __qdf_dentry_t and __qdf_debugfs_file_t.

Change-Id: I91b293b262d955324e65157909ca9d3b831e2cf6
CRs-Fixed: 2097140
2017-10-17 00:07:43 -07:00
Tallapragada Kalyan
61cb97c58e qcacmn: choose proper REO destination ring for invalid hash
for cases where hash is invalid (non TCP/UDP) let us remap
the traffic to a configured REO DESTINATION ring instead of
using default ring 0.

Change-Id: I3d08f684f1914b60a2457bdcc5c184fc8a0068e7
2017-10-16 12:20:37 -07:00
Karunakar Dasineni
ead27fb613 qcacmn: Move packet log to HTT
Packet log messages be coming as HTT messages for Lithium. Temporary
change to bypass HTC connection for this new HIF pipe (CE 5), which
will be used for packet log and other high-priority HTT messsages.
Proper HTC connection to be added later once required FW changes
are available

Change-Id: I53361b4c28b838dacf62f435cc12051bb2eb65b6
2017-10-16 08:05:18 -07:00
Shaakir Mohamed
03a8b15221 qcacmn: Handle dfs pulse information in host side
Adds support to dump dfs pulse information from firmware to host
for debug purpose.

Change-Id: I3b2042f8df6e077eed1a3847cd2d8550794bc6f7
CRs-fixed: 2121833
2017-10-16 05:55:59 -07:00
Santosh Anbu
9fef1a1c0d qcacmn: Add the entries "WLAN_SA_API_ID" & "WLAN_SPLITMAC_ID"
"string_from_dbgid" takes any value from 0 to WLAN_REF_ID_MAX(29) and
return a string corresponding to that index.
'strings' array has only 28 entries(0to27).
Add the remaining two missing entries

Change-Id: I27bf0ffe8341461c3f56eb02ae6482495b3cc338
CRs-Fixed: 2120818
2017-10-16 01:56:42 -07:00
Santosh Anbu
1fae3c8f03 qcacmn: Remove qdf_nbuf_free for NULL buf
qdf_nbuf_free was invoked even if buf is NULL
Remove qdf_nbuf_free

Change-Id: Ibb77d073501b320d27ff5c42cc9d86e27863585d
CRs-Fixed: 2120169
2017-10-16 01:56:40 -07:00
Shaakir Mohamed
4db22523ff qcacmn: Fix to prevent channel switch to channels in NOL list
This fix prevents channel switch to a DFS channel already in the NOL list
during a doth_chanswitch or chan command, within the NOL time out.
When a DFS channel gets added to NOL list, channel flags update to
indicate a radar set on the channel

Change-Id: Ifddd6e861b408a680ec310d42d6518fbb46d733e
CRs-fixed: 2121225
2017-10-15 15:48:11 -07:00
Shaakir Mohamed
a1a7e163af qcacmn: Add support for bangradar for hawkeye
Add support for bangradar command to send unit test command
to firmware as a hook to simulate radar injection

Change-Id: Ieaa7eab6d452ab864a10beca1478d0e61d605107
CRs-fixed: 2113724
2017-10-15 15:48:09 -07:00
Shaakir Mohamed
6f35bb0636 qcacmn: Add usenol support for full offload
In fulloffload mode, based on the value of the usenol variable decide
whether to add the channel to NOL or not. In future, we need to merge
this code with non-full offload. That will remove redundant code.

Change-Id: I2bb403c3983a4a1eac906e6c13a3ec6a13fdc436
CRs-fixed: 2102829
2017-10-15 15:48:08 -07:00
Shashikala Prabhu
42978fd43f qcacmn: Fix channel list validation failure
Problem:
Channel list validation is failed for Algeria country code where
regulatory frequency 5660 is not present in the channel list.

Solution:
Add frequency 5660 to Algeria country channel list.

Change-Id: Ie023a4f1dd54829a891dd08ddeffb527605a0797
CRs-Fixed: 2124092
2017-10-15 05:40:40 -07:00
Mahesh Kumar Kalikot Veetil
7df92bada9 qcacmn: Fix compilation issue in wlan_ptt_sock_svc.c
Fix a compilation issue introduced by the change
"Change-Id: I3bb7170c971f66178efe5cda837337a2e362f822".

Change-Id: Icfb204a5c6b0f5e471583df1c7b84441a6ee546a
CRs-Fixed: 2126606
2017-10-14 19:40:02 -07:00
Soumya Bhat
1c73aa673b qcacmn: Parse PPDU stats TLV
Parse PPDU TLVs provided by FW which are required to
capture TX data path stats

Change-Id: If91834aa94ff8893ba1f292d801f2c00ecdaea1f
CRs-Fixed: 2104488
2017-10-14 09:39:16 -07:00
Varun Reddy Yeturu
2576425ab6 qcacmn: Fix serialization log to use proper module ID
Fix serialization log to use proper module ID.
Replace QDF_MODULE_ID_HDD with QDF_MODULE_ID_SERIALIZATION.

Fix logging levels as per logging guidelines.
INFO_HIGH is not supposed to be used anymore.

Change-Id: I349254abc36565e5ba520d46588e5c3e27178ad9
CRs-Fixed: 2090993
2017-10-14 05:59:23 -07:00
Varun Reddy Yeturu
edb7a95706 qcacmn: Dump PMKID information
Dump the PMKID information in host driver for debugging purposes.

Change-Id: I0be8add08d45bc09d9120bf36eb9110600c56673
CRs-Fixed: 2111909
2017-10-14 05:59:22 -07:00
Rohan Dutta
bec3ab7f30 qcacmn: Fix for wapi ping with x86 sta
The change adds support to fix ping issue for wapi with x86 sta
We add the txiv field to wlan_crypto_req_key structure, this will
be filled for wapi security only

Change-Id: Ic80ecf3aaf4440ba5f56bb9c243bfbca5be574e3
CRs-Fixed: 2098697
2017-10-14 03:51:05 -07:00
Dustin Brown
e8dffb2cc9 qcacmn: Cleanup qdf_print_thread_trace conditional compilation
Initially, save_stack_trace_tsk was not exported from the Linux kernel
for ARM targets. This export has since landed in the 4.14 upsteam
kernel, and internal msm-4.4 and msm-4.9 kernels have added a backport
flag for this export. Cleanup the conditional compilation surrounding
qdf_print_thread_trace to reflect the new situation.

Change-Id: I0c98b38dddf460d4a65c0f19ebce609bd83bbf10
CRs-Fixed: 2126609
2017-10-13 12:49:37 -07:00
Mukul Sharma
9b53a47e39 qcacmn: Add AUTH STATUS and RETAIN CONNECTION attribute
Add QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_STATUS /
QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_RETAIN_CONNECTION attribute in vendor
QCA_NL80211_VENDOR_SUBCMD_KEY_MGMT_ROAM_AUTH_INDEX subcmd.

Change-Id: I1a96a240c314c1c4199b2fac38ebbaa4f667b28d
CRs-Fixed: 2045932
2017-10-13 09:48:13 -07:00
Gurumoorthi Gnanasambandhan
c1e317ea40 qcacmn: Fix compile error
2017426 removed rssi_args causing compile error.

Change-Id: I5f428535373cd7716e993f4447b27fc33296aa5c
2017-10-13 13:43:44 +05:30
Soumya Bhat
835033e388 qcacmn: Fix TX PPDU stats issues
1. Define bitmap array appropriately and expand ppdu per user
tx stats array to accomodate upto 8 users stats
2. Fix issue where even with 1 WLAN STA user_index was exceeding zero
3. Allocate 5 bits for ppdu_type variable

Change-Id: I969c929c3e16d4027a5e642a0a9195979c95e9cc
CRs-Fixed: 2121122
2017-10-12 14:22:42 -07:00
Sathyanarayanan
0a00062f58 qcacmn: Fix MIPS regression
Change-Id: I34d30e097cfedef9b805d3e97cd256da232b1e28
CRs-Fixed: 2123844
2017-10-12 14:22:39 -07:00
Himanshu Agarwal
99881a9668 qcacmn: WMI changes to send BSS scoring params from INI to firmware
Add support to send BSS scoring params from INI to firmware.
Firmware will use these params to select best candidate during
roaming.

Change-Id: Iad0e71c770ac4f4c31ce3b19552f09fd27dc37bf
CRs-Fixed: 2121739
2017-10-12 14:22:36 -07:00
Govind Singh
bc679dc919 qcacmn: Do not allow CE register access when recovery is in progress
Currently, Shadow registers is not implemented for all registers.
This can lead to unclocked access and followed by NOC errors.
In Rx path Interrupt Status and src/dst read index are directly
accessed without shadow block. Target may execute
reset sequence due to PDR/SSR while rx path is active.

Avoid direct access to below registers if target is crashed due
to PDR/SSR.

HOST_IE_ADDRESS
HOST_IS_ADDRESS
CURRENT_DRRI_ADDRESS
CURRENT_SRRI_ADDRESS

Return from ISR without scheduling the bottom half if target is
crashed due to PDR/SSR.

Change-Id: Ifa993e978579b4d061d21281338494292e19700a
CRs-Fixed: 2123967
2017-10-12 14:22:34 -07:00
Gyanranjan Hazarika
4a2f03c01c qcacmn: Add support for 'he_ltf' command
Currently, we do not have support for 'he_ltf' command. But we need
this command for certain IOP testcases. Add support for 'he_ltf'
command.

Change-Id: I296b18762aaa52da80a5755c5bcca8dbd12d9b13
CRs-fixed: 2118948
2017-10-12 14:22:30 -07:00
Karunakar Dasineni
ea027c5bf2 qcacmn: Adding back lost LMAC interrupt changes
Redo some of the LMAC interrupt mapping changes made in
Iec8e9f4a02cd618a3b244cfd6fc7ead1e7d993c3, which were lost
due to a recent change made to support MSI.

Change-Id: Ic566e7285feaeb9058defe01c5e704be3135ed2d
CRs-Fixed: 2113818
2017-10-12 14:22:27 -07:00
Orhan K AKYILDIZ
9e5b93c55c qcacmn: Limit yield log to rx data CEs
A recent change added NAPI yield stats update call for all CEs.
With another receent change that shortened the yield time, we see
a lot of logs complaining about CEs where this particular stats
are not applicable to. Limit the stats update to NAPI CEs.

Change-Id: Ia17a4ddf53ce52116f30d48190f47914721a548e
CRs-Fixed: 2092084
2017-10-12 14:22:24 -07:00
Arif Hussain
6dfa7ee2a1 qcacmn: Add utils_ prefix to dfs public functions
Add utils_ prefix to all dfs public APIs.

Change-Id: I154c9f9a324c1af815363d3cbf52febd1bed342e
CRs-Fixed: 2124362
2017-10-12 14:22:22 -07:00
Krunal Soni
fe33ab5fde qcacmn: Enhance serialization cancel command API
Current wlan_serialization_cancel_request API cancels commands which
are in pending queue but it doesn't cancel command which are in active
queue.

Enhance the API to allow requester to cancel the commands from active
queue as well.

Change-Id: Id303c59cbb2a36f6c358f34b4885a0af66f5dac1
CRs-Fixed: 2123090
2017-10-12 14:22:19 -07:00
Om Prakash Tripathi
cc9b3a4856 qcacmn: Drop scan events if scan req not in active queue
Host driver forece fully frees scan requests in below cases:
1. vdev being deleted
2. command timed out
In above cases scan request is freed and scan module
posts scan cancelled event internally to registered handlers.
Drop any event received after scan is cancelled.

Change-Id: Id66b6cc6a400916af9bfaf0c09dbb92d7f27db4e
CRs-Fixed: 2123090
2017-10-12 14:22:16 -07:00
Yeshwanth Sriram Guntuka
ca2862d351 qcacmn: Add host diag events for wow stats
Propagation from qcacld-2.0 to qcacld-3.0

Add diag event for wow packet counters stats.
The event EVENT_WLAN_POWERSAVE_WOW_STATS will be used to
inform the wow stats packet counters.

Change-Id: I9d1760aa6b790544b9879e7ef18d4f5359e0e245
CRs-Fixed: 1087714
2017-10-12 14:22:14 -07:00
Manjeet Singh
c73cd7db11 qcacmn: Follow spec for NL80211_CMD_START_SCHED_SCAN
qcacld-2.0 to qca-wifi-host-cmn propagation

If no SSID are passed to NL80211_CMD_START_SCHED_SCAN cmd,
interface spec requires that an active scan is not needed.
Therefore a passive scan is now requested by cfg80211_sched_scan_request
for this case.

Change-Id: I1b1b9232ffb9d8d5c0bc9a1d75145d39c9fe9e6b
CRs-Fixed: 902092
2017-10-12 14:22:11 -07:00
Ajit Vaishya
2636384f2c qcacmn: Fix kernel check patch warnings in fwlog
Fix msm-4.4 kernel check patch warnings for fwlog module.

Change-Id: I84656de36b4b32d4e139021174ad8220cd6d845e
CRs-Fixed: 2041367
2017-10-12 14:22:09 -07:00
Ajit Vaishya
8dc86d6e54 qcacmn: Fix kernel check patch warnings in PTT
Fix msm-4.4 kernel check patch warnings for PTT module.

Change-Id: I3bb7170c971f66178efe5cda837337a2e362f822
CRs-Fixed: 2041367
2017-10-12 14:22:07 -07:00
Kabilan Kannan
78acc11a99 qcacmn: Fix WIN compilation problem
Fix the compilation problem in tx non std interface
function.

Change-Id: I61c92a8545e5a468202a1032449f590938f199b1
CRs-Fixed: 2124351
2017-10-12 14:22:04 -07:00
Dustin Brown
f653d16e6c qcacmn: Remove qdf_handle_t from unused qdf_defer APIs
There are many QDF APIs require a qdf_handle_t parameter. None of these
APIs actually use the qdf_handle_t parameter, meaning it can be
completely removed. As a step toward globally removing this unused
type, remove qdf_handle_t parameters from unsed qdf_defer APIs.

Change-Id: I0568aa7cbd430abc0d046143482a067d96bf6313
CRs-Fixed: 2112646
2017-10-12 14:22:02 -07:00
Venkata Sharath Chandra Manchala
5fd835b44b qcacmn: Cleanup unused typedef variables
Remove unused typedef rx_callback_fp in
datapath flow.

Change-Id: Ie40f8ab02a1437d2c86aadb2f35f5f548f00f1bc
CRs-Fixed: 2123478
2017-10-12 14:22:00 -07:00
Mahesh Kumar Kalikot Veetil
3b236ec96b qcacmn: Fix compilation issue in ptt_cmd_handler()
The feature CNSS_GENL is enabling compilation of some part of the
code. This feature depends on CONFIG_CNSS_GENL. Fix some of the basic
compilation issues.

Change-Id: I5cd3645cd8a10367abcfe89abda8de16548385b7
CRs-Fixed: 2123538
2017-10-12 14:21:58 -07:00
Shashikala Prabhu
41eff4f752 qcacmn: Initialize DFS radar table based on dfsdomain
* Initialize the radar table based on dfsdomain for country
  KOREA and CHINA.
* Move UMAC related APIs from lmac_api.c to utils_api.c  file.

Change-Id: I9dc2acdf23fc10469884d23bb91f352d2ac259ca
CRs-Fixed: 2110760
2017-10-12 14:21:55 -07:00