Commit gráf

4027 Commit-ok

Szerző SHA1 Üzenet Dátum
Dustin Brown
1e61fbc2a0 qcacmn: Address minor HTC review comments
Address minor review comments raised against previous change
Ic417f6b008fdc769227c7a23bc8e01a2064ce928. Specifically, remove function
recv_packet_completion() and member EpRecvPktMultiple from struct
htc_ep_callbacks.

Change-Id: I431579356664ad6a6274f58352adf8ce273e084f
CRs-Fixed: 2168647
2018-01-13 02:17:54 -08:00
Krunal Soni
5428570e41 qcacmn: Check pcl array size against QDF_MAX_NUM_CHAN
While populating preferred channel list array, length
has not been checked against QDF_MAX_NUM_CHAN which
is size of PCL.

Fix it by checking indices and length against QDF_MAX_NUM_CHAN

CRs-Fixed: 2169424
Change-Id: I8c4d050bfc7040fba052eb42b32a91302a0a0ecb
2018-01-13 02:17:52 -08:00
Venkateswara Swamy Bandaru
e91dd92e8b qcacmn: Mesh throughput enhancements
Sending all frames to firmware will have high throughput impact.
Queue mesh frames also to TCL/TQM and send cloned frame to firmware
only if meta header information is changed to update meta header
information. Increased meta info size as per new ext2 header.

Change-Id: I89ff27994477a5637979a9cd6a397286144b2535
CRs-Fixed: 2162643
2018-01-13 02:17:50 -08:00
Gurumoorthi Gnanasambandhan
306de84f27 qcacmn: Add mic error and decrypt error stats
Add mic error and decrypt error stats for Hawkeye

Change-Id: Id7f9b7bd47b4e33ead5493f92a517fbe0ee718af
CRs-Fixed: 2156676
2018-01-13 01:28:25 -08:00
Gyanranjan Hazarika
99a58d3b1a qcacmn: Add support for setaddbaresp cmd for HE
Addba recieve/response logic has been implemented in
host for HE instead of in FW like VHT. setaddbaresp
is not hooked to the dp module yet to set the addba
response from userspace. Implement the required logic
for HE to support this command.

Change-Id: I49cceca299db06d41f2cafa690f5ba59e01f1f4a
CRs-fixed: 2163475
2018-01-13 01:28:23 -08:00
Abhishek Singh
d4212c2c9e qcacmn: Add vendor attribute to enable RSNIE test mode
Adds support for vendor attribute to enable RSNIE test mode. Once test
mode is set the driver will use the RSN IE's as-is from the connect
request. Exclusively used for the scenarios where the device is used as
a cert test bed and not recommended for production.

Change-Id: I5ae9856fe9fb0785a625cadd9a1fed1752bcb08a
CRs-Fixed: 2164530
2018-01-13 01:28:21 -08:00
Krunal Soni
9abb49061d qcacmn: Choose opportunistic timer's session id dynamically
Current opportunistic timer chooses session id as 0 up on expiry
which creates the issue when session id 0 doesn't exist.

Fix the situation by dynamically choosing existing session id to
complete the action.

CRs-Fixed: 2166667
Change-Id: I2e1da2ba0078381a5e91decd32d32b8ad77cec19
2018-01-13 01:28:18 -08:00
Padma, Santhosh Kumar
f5d592433f qcacmn: Add support for GMAC MIC calculation
Add changes to calculate MIC using aead calls in linux

Change-Id: I710b1c748c36babc8e66aaf920a07f9657f6e273
CRs-Fixed: 2164910
2018-01-13 00:42:51 -08:00
Himanshu Agarwal
b3c81ac057 qcacmn: Green AP UMAC componentization
Add APIs, structures for Green AP component.

Change-Id: I4a39470104c89c20eec5440b7ae251a764151fd5
CRs-Fixed: 2166428
2018-01-12 12:20:17 -08:00
Keyur Parekh
73554f9a8c qcacmn: pktlog host change for pdev id
Use correct API to extract pdev_id from HTT
message

Change-Id: Ia9e697f2a01391a073a68945de51c273efbfe5b5
2018-01-12 11:30:37 -08:00
Varun Reddy Yeturu
706ab89167 qcacmn: Fix static analysis issues in policy manager
1) Check for policy manager context to be non NULL before
   dereferncing and return if it is NULL.
2) Use QDF_MAX_NUM_CHAN consistently to represent the maximum
   number of channels supported.

Change-Id: I3393bc801dd780d881423c8be346e74ac6d3ac6c
CRs-Fixed: 2160770
2018-01-12 02:38:01 -08:00
Poddar, Siddarth
ec4b2a97ad qcacmn: Add new data stall event for no TXRX post tim
Add a new data stall event which will be triggered by FW
when there is no exchange of frames post TIM and the STA
will keep on extending the ITO waiting for the rogue AP
to send a frame.

Change-Id: Ic97ab1036a12a20b174fa433e4a06ce0e9b4c308
CRs-Fixed: 2163316
2018-01-12 02:37:59 -08:00
Varun Reddy Yeturu
0b8b57e632 qcacmn: Fix potential NULL dereference in P2P
1) Check for validity of ps_config before dereferencing.
2) Check for validity of lo_start before dereferencing.
3) Initialize tmp_p2p_ie before using it.

Change-Id: I4cd5bcb025e63d727e5535921a4e4121d618ee36
CRs-Fixed: 2160760
2018-01-12 01:53:50 -08:00
Jeff Johnson
f2f8dea00b qcacmn: Define a QCA vendor command to retrieve SAR Power limits
Implement a command to retrieve the current SAR power limits.

Change-Id: I599b96b7efd26ca109ebdddfe1f064c649af5c95
CRs-Fixed: 2161445
2018-01-12 01:53:48 -08:00
Padma, Santhosh Kumar
f379e37f94 qcacmn: Add support for SuiteB AKM suites
Add support for Suite B AKM suites 000FAC 11/12

Change-Id: I4893241ad138d7598d15228cedb29b656afbe32e
CRs-Fixed: 2164932
2018-01-11 15:39:46 -08:00
Pamidipati, Vijay
7a4721f3ab qcacmn: Free Tx ME pool in detach path
Tx ME descriptors used for Tx Multicast enhancement are not freed
in pdev detach path causing memory leak. Fix this by freeing
them in pdev detach path.

Change-Id: I902e7a829495871e3d0013a9942f86c02bbba80e
CRs-Fixed: 2168524
2018-01-11 14:25:54 -08:00
Pamidipati, Vijay
8e79865e11 qcacmn: Correct the data type of byte count variable
Use a 64-bit data type for byte count variable to prevent
data overflow.

Change-Id: I0e4927ebeece05cb9ee0360400e6a0da27862d32
CRs-Fixed: 2165595
2018-01-11 14:25:52 -08:00
Amar Singhal
479698e1d7 qcacmn: Add NULL ptr and data initialization checks in pktlog
Add checks for NULL ptr. Also initialize data properly.

Change-Id: Ib6db409f038421c5a0c9033bea7948f9cd6376dd
CRs-Fixed: 2160752
2018-01-11 13:45:15 -08:00
Kiran Venkatappa
c686275355 qcacmn: Add support for ce_cancel_srng API
ce cacnel is used To release/flush buffers from source SRNGs which have
not been reaped yet. Update this API to use appropriate hal API to reap
all pending buffers.

Change-Id: I6f8179b765f0768f2c2b25cd384b0380b7782414
CRs-Fixed: 2165595
2018-01-11 10:53:48 -08:00
Pamidipati, Vijay
980ceb9cb9 qcacmn: Add new HAL API to get SRNG descriptor which is pending reap
To release/flush buffers from source SRNGs which have not been reaped yet,
add a new HAL API to get next descriptor which is pending reap

Change-Id: Ibe490d8f8667ed046beb98fe19bfd7feb31aa286
CRs-Fixed: 2165595
2018-01-11 10:53:46 -08:00
bings
0dca5c06e2 qcacmn: Free dfs_b5radars when it is not NULL
Before allocating dfs_b5radars, we need free the old one.
Free dfs_b5radars when it is not NULL.

Change-Id: I4df2698b2c630f0259df32eb5fface1b0750d86d
CRs-Fixed: 2166047
2018-01-11 10:53:44 -08:00
sumedh baikady
87d4967274 qcacmn: Fix Assert in dp_rx_mon_mpdu_pop
Disabling checking of msdu_done in monitor mode

Change-Id: I6c935dd74312a7023d5903346af9e2174c5ca7ce
Crs-fixed: 2167329
2018-01-11 10:08:00 -08:00
Sathish Kumar
7607184303 qcacmn: Clean up direct buf rx framework
Direct buffer rx framework is cleaned up to have the following
changes -

1. Init and deinit during target interface open and close to avoid
   multiple inits and deinits in case of multi-SOC chipsets
2. Register WMI events required for the framework through PSOC
   enable and disable
3. Rename API that attaches hal soc and osdev objects to psoc object
4. Module ID numbering starts from 0. Modify usage to adhere to it
5. Add API to get LMAC IF tx ops from psoc

Change-Id: Ieceeb6c0e1a89c32f23b9c252e74671cd5c4a69b
CRs-Fixed: 2167614
2018-01-11 04:43:42 -08:00
Rakesh Pillai
1d3e9309b3 qcacmn: Fix wmi debugfs creation after interface creation timeout
After driver init, if not interface is created and the stop modules
gets called, the wmi debugfs dir is removed. After this it is not
created again during start modules. Due to this the wmi debugfs will
be unavailable after this.

Fix the wmi debugfs entry creation when interface creation timeout
happens after driver init.

CRs-Fixed: 2164039
Change-Id: Ib1a9c655b5144b11d506a09268918b63f82adcc0
2018-01-11 03:48:48 -08:00
Rakesh Pillai
6b0c64ff8c qcacmn: Unify the wmi command and event record offset
The wmi data buffer offset passed to record command and event
buffer uses different offset and type for command and event.

Change the recorded wmi data buffer type to uin8_t pointer
for both, wmi command and wmi event record.

CRs-Fixed: 2164395
Change-Id: Ie759248a6a32632dd93f751a856a0588d9a11c25
2018-01-11 03:48:45 -08:00
Vivek
ccd320ac7d qcacmn: Change max mgmt descriptor pool size to 64
With no queueing support in the host driver for mgmt
frames and the target  not supporting more than 64 mgmt
frames at any given time, the max number of mgmt descriptor
pools should be changes to 64

Change-Id: Ic6bb0d6a01867ba7fb0197d4cd6e406cd74d39fc
CRs-Fixed: 2146177
2018-01-10 22:41:04 -08:00
Dustin Brown
de3edcbb9e qcacmn: Add wrapper for nla_parse_nested()
The Linux kernel version 4.12 introduced an API change to
nla_parse_nested(). Add conditional compilation to call
nla_parse_nested with the correct parameters based on the
version of the linux kernel being compiled against.

Change-Id: I878a29b352c998a751a979f66a9c3c4c7ecfd442
CRs-Fixed: 2167861
2018-01-10 13:40:23 -08:00
Shaakir Mohamed
2986c8d533 qcacmn: Change DFS related prints to WMI log info level
Change DFS related prints in Host side from debug level to info level.

Change-Id: Id0ec4b5ce14df6b416ae4e783e2876ac3d881dbf
CRs-fixed: 2152590
2018-01-10 13:40:21 -08:00
Tallapragada Kalyan
53f9e39a43 qcacmn: Fix sanity issue during peer delete
during peer delete we are trying to update peer stats to
vap_bss_peer, but in STA mode we do not have bss_peer,
this is resulting in an assert during peer delete in STA mode.

Change-Id: Ie302dd74caf2df3ffe0a57e9ecd22a0c31cbcb60
CRs-Fixed: 2168929
2018-01-10 00:25:26 -08:00
sumedh baikady
2a19fe4317 qcacmn: Fix legacy rate and group id in rx_status
In radiotap section of sniffer, fix group id field for vht
and rate field for legacy.

Change-Id: I3c1e2e650548551230d9eca5bc043b690169e844
CRs-fixed: 2143521
2018-01-09 23:47:25 -08:00
Kiran Venkatappa
96c42b6ae9 qcacmn: Save htt htc endpoint in transport layer
Buffers sent through htt htc endpoint is cleaned up within DP. Set this
endpoint in transport layer to ensure that transport layer skips buffers
from this endpoint during cleanup of pending buffers in source ring.

Change-Id: I3f7d36c26347b508913d4200e0806d93408097e8
CRs-Fixed: 2168235
2018-01-09 23:47:23 -08:00
Nachiket Kukade
33485811af qcacmn: Modify DISA legacy code to point to the DISA CLD component
DISA feature has been moved to a CLD component under the converged
driver model. Point the wmi API's and structures to the newly defined
files. Define new API's to extract parameters from event buffer.

Change-Id: Ia47d3682217e7ce9c021bb2db8319483c881b3b2
CRs-Fixed: 2161963
2018-01-09 13:40:08 -08:00
Nachiket Kukade
88ae85340c qcacmn: Add Objmgr related definitions to support DISA component
Add Objmgr ID and related definitions to support the newly
defined DISA component in CLD.

Change-Id: Ibbe5db39c01dae94cad5af5f4dccd2611c5b06d4
CRs-Fixed: 2159599
2018-01-09 13:40:06 -08:00
Naveen Rawat
68805125fd qcacmn: Avoid WMI TLV structures in NAN target_if
Refactor NAN target_if to make it wmi-type agnostic. Specifically
do not access wmi structures in NAN target_if. All the access to
wmi structures should happen in tlv and non-tlv specific wmi files.

Change-Id: I944b678fc501723d7cd26c9b21c4cc6ddb7fda4e
CRs-Fixed: 2159876
2018-01-09 06:12:48 -08:00
Soumya Bhat
d4ad6afa37 qcacmn: Fix Rx pkt len in stats
Fix packet length updated in data path RX stats

Change-Id: I136901a526441f55361f3d7079a03608188996dc
2018-01-09 06:12:46 -08:00
Vivek
f227fb7417 qcacmn: Reduce the number of scheduler message buffers for WIN
Reduced the number of scheduler message buffers for WIN to
2k from 4k since WIN is only using 2 scheduler queues.

Changed the order of two members of scheduler messgae structure
to avoid additional padding on 64bit platform.

Change-Id: Ic74d60878867c45413bc4fbd5c56feb4dd421699
CRs-Fixed: 2157621
2018-01-09 06:12:44 -08:00
gaurank kathpalia
7c6b803c4f qcacmn: Add variable to enable scoring result filter on scan results
Add bss_scoring_required in scan filter to enable/disable
scan results filtering based on scoring

Change-Id: I6c2c08a1cd959f1586e3e5bb7b63665f04c3a856
CRs-Fixed: 2165465
2018-01-08 18:28:42 -08:00
chenguo
7853b790bf qcacmn: Free all resources when VDEV is detached
TX descriptors should be unmapped and freed when VDEV is detached.
Or else it will cause memory leak in qdf_mem.

CRs-Fixed: 2163178
Change-Id: I59da73787786f78c1f057e4daad7b4d53e7fbe4c
2018-01-08 18:28:40 -08:00
Pamidipati, Vijay
fb0d54d00c qcacmn: Fix kernel panic issue in multicast enhancement code
The kernel panic is seen because wrong variable was used , and this
variable was getting de-referenced without initialization.
Fix this by using the correct variable

Change-Id: I1f03c724f3ecba44a8ce0bc94242f2acafa5649d
CRs-Fixed: 2166423
2018-01-08 17:40:25 -08:00
Vivek
5747b78091 qcacmn: Move mgmt descriptors per pdev for probe response throttling
Mgmt tx rx descriptors are now used instead of WMI descriptors
for management Tx/Rx.
Since WMI descriptors were per radio to support probe response throttling
the mgmt descriptors should also be moved from per psoc to per pdev.

The reason for this is probe response throttling should happen per radio
and not per psoc since if the mgmt frames peding counter is
maintained per psoc, it could affect other radios of the same psoc also.

The maximum number of mgmt descriptors per psoc was 50.
This is also changed to 512 mgmt descriptors per pdev which is the
same as WMI descriptors per radio as used earlier to support
probe response throttling.

Change-Id: Ibb46082e0acf340800418a7e9689a29cd688bdab
CRs-Fixed: 2146177
2018-01-08 09:39:20 -08:00
Tallapragada Kalyan
4f894924e0 qcacmn: Fix vdev stats reset to zero on peer disassoc
vdev stats are getting reset to zero when a peer disassoc
with the AP. the fix is basically update peer stats to
bss_peer just before we delete the peer.

Change-Id: Ibada4ab82fbb68f32df89bdbae8b172bc8973fe7
2018-01-08 02:07:27 -08:00
Abhijit Pradhan
6744161372 qcacmn: Add locks to protect DFS NOL list
Add locks to prevent concurrent access of DFS NOL list
from different  contexts.

Change-Id: Ib94bb08bcf3e0cac80b2f8e6be7ab4fd54c53a68
CRs-Fixed: 2156892
2018-01-08 01:18:36 -08:00
Kiran Venkatappa
7ec5169030 qcacmn: Send frame as multicast if snoop entry not found
Send control packets as mcast even though snoop entry is not found
instead of dropping the frame. These control frames include IGMP/MLD
frames that is required to add the snoop entry.

Change-Id: If905b54e2ae9eaa3943428b36b1b894bcd528785
CRs-Fixed: 2133270
2018-01-08 00:32:18 -08:00
Dustin Brown
bc9718fea2 qcacmn: Fix HTC packet map/unmap disparity
When a data packet is sent via HTC, it is mapped before being inserted
into the TX queue. However, for control packets, the mapping is done
after being inserted into the queue. This leads to a situation where the
TX queue flush can unmap a pending control packet that was never mapped.
Make sure the TX flush function only unmaps packets that have previously
been mapped.

Change-Id: I48572fb34ae940923012d495625a33a00f74b9ed
CRs-Fixed: 2157006
2018-01-05 15:30:11 -08:00
Dustin Brown
8969ad7fa8 qcacmn: Fix double dmap problem in htc
For control messages, a path in HTC was performing double dmamaps
and this was, in time, causing dmamap failures on SMMU.

Change-Id: I19f7e13a0a19404fe1161127b10f52225b6a4248
CRs-Fixed: 2151773
2018-01-05 15:30:10 -08:00
Yue Ma
b4e12686e6 qcacmn: Enhance Runtime PM wakelock logging
It helps to track runtime PM wakelock allocation for each user.

Change-Id: I4d49c687fdd1dd3618f96f18acdaa9dad4197d74
CRs-fixed: 2152497
2018-01-05 15:30:08 -08:00
Stephan Raj Ignatious Durairaj
ba29129dfb qcacmn: dp support for inact timers
Added dp path function pointers for inact
timers and set params used in WifiSON
Load Balancing Daemon

Change-Id: Ic23d7b562b476c0fb92c8734b029a4e1632599a5
2018-01-04 17:37:47 -08:00
Naveen Rawat
7b5cffe84f qcacmn: Avoid null pointer dereference and OOB access
Avoid possible null pointer dereferece and out of bound access
in NAN component.

Change-Id: I40ba4e340e34e8975c782c0a6329322e3c151326
CRs-Fixed: 2160751
2018-01-04 15:34:36 -08:00
Venkateswara Swamy Bandaru
489ac74236 qcacmn: Fix kernel panic in wifi down path
Fix allocation size of hif context in case of ahb.

Change-Id: I306135f91706840988665d342ec897676ab3e161
CRs-Fixed: 2155377
2018-01-04 15:34:34 -08:00
Houston Hoffman
b899cf8b8e qcacmn: Don't encapsulate packets in htc_send_pkt
Avoid leaking pointers to freed stack memory by not enqueing packets
onto a stack local queue in htc_send_pkt
In particular, the packet was not being removed from the stack queue
when a dma map error occurs.

Change-Id: I4519a302b3d6cc19f52e8cefa71dbd750ede0a0b
CRs-Fixed: 2119792
2018-01-04 07:25:15 -08:00