Revīziju grafs

4323 Revīzijas

Autors SHA1 Ziņojums Datums
Prathyusha Guduri
43bb056ed0 qcacmn: Add fw stats to cdp_pdev_stats
Add htt tx and rx structs from HTT to cdp_pdev_stats.
These Fw tx and rx stats are obtained through HTT events.
athstats application uses cdp_pdev_stats that contains host stats
and fw stats.

Change-Id: Ia063f406bdc6d32a684c4026b8425ecc96faa3db
CRs-Fixed: 2190793
2018-02-27 23:33:48 -08:00
nobelj
9ab76e283f qcacmn: Add support for ppdu length in ppdu_stats
Rx PPDU length is calculated from number of MSDU length in each MPDU
Rx PPDU stats are populated after updating PPDU length.

Change-Id: I2af6a82eaddc4e791d4e7445c933a5886304e8f3
2018-02-27 21:17:19 -08:00
bings
a823ce622a qcacmn: Adjust the bin5 rssi threshold in radar filters
Radar bandwidth detection at certain frquencies is reported to
be lower than the acceptable threshold.  This is due to the low
rssi reported in the phyerrors.

Fix the issue by adjusting the rssi threshold accordingly.

Change-Id: Ia1598342e33b1217a1fb163878b2ac42661b33af
CRs-Fixed: 2184681
2018-02-27 21:17:17 -08:00
Nirav Shah
b432e7c080 qcacmn: [QDF] Add support for QCA9379 on x86 platform
Add support for QCA9379 chip on x86 platform for
USB and SDIO attach.

Change-Id: I50353d069e3b2edfb73c5421b73e18273bc243af
CRs-Fixed: 2181012
2018-02-27 21:17:15 -08:00
Keyur Parekh
e85133ca71 qcacmn: populate duration value for rx status structure
Duration was populated under wrong TLV header. Change
place to populate with TLV header

Change-Id: Ieac59f622d92f9377d846b035d9aed7d14685e66
2018-02-27 21:17:13 -08:00
Gurumoorthi Gnanasambandhan
8fbbb8f0de qcacmn: Add sanity check for wmi TLV length
Add sanity check for wmi TLV header length before padding/shrinking
elements in a wmi which has a variable length for its TLV structure.
Currently, the TLV length is not checked so its maximum value could
be 65535 which results in a hugh count for elements. Number of elements
is used to terminate the loop for padding/shrinking. If the number
was too large, there would be memory overflow.

Change-Id: Iea0615fc511696c6cc5dcc48a9dfff225256a52b
CRs-Fixed: 2181685
2018-02-27 21:17:10 -08:00
Sravan Kumar Kairam
f1822ba49b qcacmn: Fix compilation error
Currently including only cdp_txrx_ipa.h header gives compilation
issue as we need to include ol_txrx.h header to remove dependency.
In this remove dependency by including proper common header file
in cdp_txrx_ipa.h

Change-Id: Ia207e990f09d284a6dac97fbae8e1bc61fb6cbe1
CRs-Fixed: 2193987
2018-02-27 16:04:46 -08:00
Rhythm Patwa
49d76900b6 qcacmn: Add command to not send ADDBA REQs
Add command support to not send ADDBA REQs.
The corresponding WMI VDEV param ID to set the
VDEV param has been added.

Change-Id: Id53f8101a61ccc0aba2a9a6735d1c6942ba3592d
CRs-fixed: 2188560
2018-02-27 16:04:43 -08:00
Arunk Khandavalli
82a39a1110 qcacmn: Increase the wmi watchdog timeout to 30sec
Under low memory conditions skb allocation sleeps
and results in kernel work queue watchdog.

Increase the wmi timeout to check if the system
recovers to allocate the SKB.

Change-Id: Ie4e42fdc71703c687ba2e5a4d995481ea7931c97
CRs-Fixed: 2158198
2018-02-27 16:04:41 -08:00
phadiman
7821bf873d qcacmn: Remove direct Target I/F-DP interactions
Add CDP interface for missing DP APIs for use in TARGET I/F layer

Change-Id: I22158bc9120e5e53253c8005772dc1060527249d
2018-02-27 16:04:38 -08:00
Nandha Kishore Easwaran
51f80b8f0b qcacmn: Add CE config for 2nd mac in qca6290
Added CE config for 2nd mac support in Napier. This is needed when
2 mac support is enabled in FW to bringup both 2g and 5g radio

Change-Id: Idd0b8fa7617e4797413266a62053125802f6b3ad
CRs-Fixed: 2192227
2018-02-27 15:08:03 -08:00
Om Prakash Tripathi
52402555cd qcacmn: Free raw frame pointer in failure path
Free raw frame pointer if scan node allocation fails.

Change-Id: If080f33cd85eb043c60c90c4170ae2ca4a161e0c
CRs-Fixed: 2194056
2018-02-27 15:08:00 -08:00
sumedh baikady
710c252550 qcacmn: Fix flags field in radiotap for HT
Set short GI known to true in flags field for HT case.

Change-Id: I4259dee7b10ebf23cf9cbaa647aa8951f3dbe633
CRs-fixed: 2189918
2018-02-27 15:07:58 -08:00
Tallapragada Kalyan
9d9cbb6762 qcacmn: Fix memory leak during vdev detach in STA mode
Vdev detach does not happen till all the peers associated
the vdev are deleted. because of DBDC repeater feature,
we are creating a self peer even for STA VAP and were not
deleteing it properly causing a memory leak. This change
fixes this issue.

Change-Id: I39d271bef5d5adc6e94333a3fbc483bdb7067f27
CRs-Fixed: 2193590
2018-02-27 14:07:11 -08:00
gaurank kathpalia
26f9833fb8 qcacmn: Send per chain rssi to upper layer
Add support to send the per chain rssi to upper layer
for each beacon and probe responses.

Change-Id: Ife6cb9e8e65591baf485c54a985f84d842400321
CRs-Fixed: 2177638
2018-02-27 01:57:52 -08:00
Wu Gao
3e25780223 qcacmn: Save vdev id of current roc ctx
RX mgmt frame is from interrupt thread, it may be access freed roc
ctx for low rate case. Save vdev id of current roc ctx in p2p psoc
object. Low log level of P2P RX and TX conf since too many output.

Change-Id: I4c944244f32b844d78bb69d66e341a1f3bf13abf
CRs-Fixed: 2180116
2018-02-27 01:57:47 -08:00
Dustin Brown
d1f73fa8ef qcacmn: Add const to qdf_*_parse function parameters
Add const to the 'char *' parameters of the qdf_*_parse family
of functions.

Change-Id: Ia106da9b9832bfe08a594a43926d68b4aa840f1f
CRs-Fixed: 2194529
2018-02-27 01:57:44 -08:00
Disha Das
19fa32351f qcacmn: Set mpdu data ptr correctly
Handle mpdu data pointer for PMF frames based on EXT IV bit

Change-Id: I7c1b585a538402ae784985852c873537c0e4eb86
2018-02-27 00:29:33 -08:00
Jeevan Kukkalli
d819e98465 qcacmn: Parameter API related changes
Added flag to enable/disable parameter api feature on
a particular radio

Change-Id: I9f814d477a1ed24cadb957fe79585b0c89e88ff7
CRs-Fixed: 2180230
2018-02-26 22:47:07 -08:00
Abhishek Singh
46a383c663 qcacmn: Add scan filter to ignore PMF check for STA test mode
In testbed STA mode the RSNE may not match with APUT and thus
driver fails to filter AP from scan cache as PMF capability
mismatch.

With this change driver will ignore PMF capability check and
proceed with connection to send auth and assoc to APUT.

Change-Id: I195cda133c8d2b9d38b1d2966261c320185ffeca
CRs-Fixed: 2195352
2018-02-26 21:44:57 -08:00
Venkata Sharath Chandra Manchala
65812e69c8 qcacmn: Fix for Tx completions counter not being updated in txrx_stats
Tx completion success counters are not being updated correctly.
Accumulate successful completions in tx_success variable.

Change-Id: I290e581e93e03ad23e349c9df7834174d6d3a787
CRs-Fixed: 2191599
2018-02-26 21:44:54 -08:00
Dustin Brown
26e61b5928 qcacmn: Fix inappropriate use of qdf_str_lcopy()
A call into qdf_str_lcopy() is passing qdf_str_len(src) as the
destination buffer size parameter. Instead, pass the actual size
of the destination buffer.

Change-Id: I62ff473d9d45cfa53c5fc3df27743690586381c0
CRs-Fixed: 2196114
2018-02-26 21:44:52 -08:00
Shashikala Prabhu
249ddc70eb qcacmn: Fix radar detection failure for 11A mode
AP does not add the RADAR found channels to NOL when user configures
the AP in 11A mode. This is because, dfs_get_bonding_channels()
returns the number of bonding channels as 0 for 11A mode. Hence, the
radar detected channel are not added to NOL.

Add change to get bonding channels for 11A mode.

Change-Id: I88db7f1241c5915021071e9caa1cfb8b7fa94c7f
CRs-Fixed: 2195597
2018-02-26 21:44:50 -08:00
Yeshwanth Sriram Guntuka
e8d9e209a8 qcacmn: Add support for HW mode info vendor command
Add support for HW mode info vendor command which sends
mac id, band, interface id and frequency information for
each MAC provided by driver to userspace.

Change-Id: If1112d29b8781cf5ba0480c84feeb772142f2c0e
CRs-Fixed: 2185559
2018-02-26 16:50:00 -08:00
Shaakir Mohamed
4374b684de qcacmn: Add TLV support for WMI command to get tpc config
Adds tlv support to get TPC config WMI command.

Change-Id: I4f465ae03c00df8f741288361c4579d911b68906
CRs-Fixed: 2187552
2018-02-26 15:57:56 -08:00
Dustin Brown
b067d27d61 qcacmn: Add context parameter to qdf_ini_parse()
In order to avoid global state, add a context parameter to
qdf_ini_parse. This parameter will get passed back to consumers via
the existing callbacks.

Change-Id: Icd74a58815701b4603924838bb84c7956058da6b
CRs-Fixed: 2194517
2018-02-26 15:57:53 -08:00
Ruchi, Agrawal
c729c57e65 qcacmn: Resolved NULL ptr dereference in detach path
On attach , allocation failed and in error handling
path it will call pdev_detach to free the resource,
resolved NULL pointer dereference which was causing
kernel panic.

Change-Id: I0fd5395fc2d4d2040049124094231dfa524a66b7
CRs-Fixed: 2192809
2018-02-26 13:42:17 -08:00
Om Prakash Tripathi
5e47d43331 qcacmn: Add support to drop beacon if channel mismatch
Add support to drop beacon, probe response frames if frame
receipt channel and channel mentioned in IEs dont match.

Change-Id: Ib545f125dc53ccfb21abf6bdcb94a327ecde5a0a
CRs-Fixed: 2149224
2018-02-26 13:42:14 -08:00
Rajeev Kumar
8b221806ac qcacmn: Create new QDF file qdf_util.c
Create new QDF source file qdf_util.c to keep FW down
APIs inside it.

Change-Id: Ic2a91cf8924d08307b3307d5f214663247125582
CRs-Fixed: 2195157
2018-02-26 12:08:39 -08:00
Vinay Adella
b99ecba783 qcacmn: Add support for more WNM subtype frames
Parse WNM action frames like TFS, FMS, TIM, WNM-SLEEP
so that they are not dropped as unspecified frame type.

CRs-Fixed: 2188942
Change-Id: Id3add53eb18b37a394d8387f7d32e9efd34671a9
2018-02-26 08:34:36 -08:00
Srinivas Pitla
0e3478d8a8 qcacmn: Fix passing right pointer as pdev object
As part of init FR, osif_pdev object stores pdev object, so same has
to be passed as param.

Change-Id: Ic9c41e5ef54fdb80898f10f27a86970e76d1f24c
CRs-Fixed: 2188451
2018-02-26 06:35:04 -08:00
Yeshwanth Sriram Guntuka
aaeb68237e qcacmn: Set hw mode based on channel_select_logic_conc ini
Set hw mode to DBS or single MAC for STA+STA and STA+P2P
concurrencies based on channel_select_logic_conc ini.

Change-Id: I46ba4d5cd8f5cda71d0c00be2b612bc851eb5ba4
CRs-Fixed: 2189848
2018-02-26 06:34:59 -08:00
Yeshwanth Sriram Guntuka
4a2dfa987f qcacmn: Add ini support for channel selection logic
Add ini to select DBS or inter-band MCC channel selection logic
for STA+STA and STA+P2P connections.

Change-Id: I7cfde9592ec210b0a8c812171d2bc6f005e17fb2
CRs-Fixed: 2189845
2018-02-26 06:34:53 -08:00
Sravan Kumar Kairam
68a824774c qcacmn: Add qdf utility functions for ARP debug stats
Implement QDF utility functions to operate on ARP data packet to
support ARP debug stats feature.

Change-Id: Idce70799bd3698dc8a8ecd8cfc8ef7d9bf1f5764
CRs-Fixed: 2019789
2018-02-26 04:07:21 -08:00
Abhijit Pradhan
5b96a30800 qcacmn: Fix for zero-CAC DFS Kernel panic
Remove elements from the correct lists.

Change-Id: Idda91238510fa89fdfb2451274f0da44f5e2f1f0
CRs-Fixed: 2185021
2018-02-23 23:46:29 -08:00
Kabilan Kannan
14e527f66a qcacmn: Fix X86 driver load problem
X86 driver is failed to load due to DMA malloc size
limitations.
Increase the maximum DMA malloc size for X86
driver.

Change-Id: I5d3a0138a61751e924183b7175a0b565cffd4eb4
CRs-Fixed: 2188749
2018-02-23 20:01:19 -08:00
Soumya Bhat
bc719e6b02 qcacmn: Add support to get RSSI of Non associated clients
Add change in driver to get RSSI of non associated clients.

This is done in 2 levels of filtering
1. Send WMI to FW to configure BSSID in HW
2. Filter the neighbour BSSID packets received in host for
the configured client mac

Change-Id: I6b684b83cecb308dac326056aa77537aee07b933
CRs-Fixed: 2148773
2018-02-23 20:01:17 -08:00
Dustin Brown
96ad17d131 qcacmn: Fix parse failure in qdf_bool_parse()
qdf_bool_parse() fails to advance the parsing cursor after consuming
valid characters. Advance the cursor after valid input in
qdf_bool_parse() to avoid failing to parse valid boolean expressions.

Change-Id: I904d5eed638e215e9821e140feb5286fffe37b7b
CRs-Fixed: 2194546
2018-02-23 17:45:56 -08:00
Venkateswara Swamy Bandaru
6523a02ecc qcacmn: Fix mesh no ecryption frame issue
Send no encryption frame only to the firmware and do not duplicate
the frame.

Change-Id: Ie601126b59027d33808db27b18ec23efbab564c0
CRs-Fixed: 2186526
2018-02-23 17:45:54 -08:00
Dustin Brown
e50d168ba5 qcacmn: Add qdf_str_dup() API
Add a QDF abstraction for strdup().

Change-Id: I141e625a91e3433c2a66bc75b4e860ed6ef266ac
CRs-Fixed: 2194537
2018-02-23 17:45:52 -08:00
Dustin Brown
64740289bc qcacmn: Add qdf_str_eq() API
strcmp() is regularly used to compare two strings for equality. However,
reading source code using strcmp in this manner can be prone to errors
because the return values are not obvious from the function's name. In
the best case, this leads to referring to the strcmp documentation more
often than one would like. In the worst case, this leads to difficult to
spot bugs. Add a thin wrapper for this use case to make intentions
abundantly clear to future readers. This wrapper is effectively sugar
for 'strcmp(left, right) == 0'.

For example:
	if (!strcmp(left, right))
	/* reads: if not string compare: left, right */

Becomes:
	if (qdf_str_eq(left, right))
	/* reads: if string equal: left, right */

Change-Id: Iabcb7c7e9f37dcb6cf1bdf5d7cc6c69ea926ba5c
CRs-Fixed: 2194508
2018-02-23 15:33:20 -08:00
Dustin Brown
61cabef5b6 qcacmn: Update qdf_trace for CONFIG module
QDF_MODULE_ID_CONFIG was previously defined for use by the configuration
component, but qdf_trace was not updated. Set the default logging level
for the configuration module in qdf_trace.

Change-Id: I8946b5473f03f3b85f8c2d6783039e03c9a49494
CRs-Fixed: 2194542
2018-02-23 15:33:18 -08:00
Dustin Brown
47452e942b qcacmn: Add QDF_DEBUG_PANIC API
A very common pattern in the Wlan driver is to test for a fatal
condition, and then call QDF_BUG with some falsy value. Add a sugar
API for these cases, which effectively does 'QDF_BUG(false)'.
Additionally, include 'debug' in the name to remind consumers that
the panic will not occur on end user devices.

Current syntax:

	if (fatal_condition)
		QDF_BUG(false);

New syntax:

	if (fatal_condition)
		QDF_DEBUG_PANIC();

Change-Id: Ifa03e9109be5efdbd061ca32363d5719fb91da0f
CRs-Fixed: 2191582
2018-02-23 15:33:16 -08:00
Sandeep Puligilla
2850421a77 qcacmn: copy raw data length to new scan entry
scan entry raw data length is not populated
during the duplicate scan entry generation.

Copy raw data length to new scan entry
while duplicating the scan entry. This api
is triggered as part of the get scan results
handler.

Change-Id: Ie59782fd437415552b7ae29c1b190e86d4b72d48
CRs-Fixed: 2186845
2018-02-23 13:57:14 -08:00
Manoj Ekbote
4a59d8de1c qcacmn: Fix issues leading to use-after-free
1. After mem_free() is done for a vdev without peers,
set it to NULL so that later check can catch it.If not,
it could be used to increment stats.
2. After a bss peer is freed, mark it as NULL so that
it is not used again to update stats.

Change-Id: I82e73c29c1409aac1af735ab849e8b07d387acf2
2018-02-23 12:54:45 -08:00
Kabilan Kannan
0e95ca191b qcacmn: Fix memory leak in TDLS rx mgmt callback
TDLS RX management callback needs to be registered
only during driver load time.
Remove the redundant callback registration.

Change-Id: Iee0e781ade2a4dafaaf372e8a9078347493418df
CRs-Fixed: 2185908
2018-02-23 12:54:43 -08:00
Amar Singhal
876a6931e3 qcacmn: Modify maximum BW only conditionally
The maximum BW for edge channels may fall outside the low limit or
high limit of channel range for a given pdev. But reduce the maximum
BW only if it is less than or equal to 20 MHz. Higher bandwidths are
realized using channel bonding and the channel itself may not be center
channel.

Change-Id: Ifc6bbadf91759fedaf432d162763577ea56bb7b7
CRs-Fixed: 2184724
2018-02-23 12:54:41 -08:00
Balamurugan Mahalingam
f6d3035ec6 qcacmn: Fix race while stopping the ce poll timer
Set the timer_inited flag to false bit earlier to
stop ce_poll_timeout function from processing

CRs-Fixed: 2182979

Change-Id: I91dd257c6beb21e379a4c51e651d835a35ca76ed
2018-02-23 06:06:03 -08:00
Balamurugan Mahalingam
3ab3633184 qcacmn: Add support for QCA6290 platform
Add support for QCA6290 platform and introduced an hif api to enable,
disable polled mode.

Change-Id: I16e210fef93251b33928788cf873117249c2d70f
2018-02-23 06:06:00 -08:00
Venkateswara Swamy Bandaru
ce6b9444a4 qcacmn: Add command and attributes for MSDU queue depth threshold
Add QCA vendor command and attributes for vendor specific command to
set MSDU queue depth threshold in target per peer per tid. This command
contains mac addrees, tid, update mask and threshold value.

Change-Id: Ie119ff5aa333bcffcec0850464982dec59fb6a07
CRs-Fixed: 2162455
2018-02-23 06:05:58 -08:00