提交图

4457 次代码提交

作者 SHA1 备注 提交日期
jitiphil
0081d767f1 qcacmn: Fix buffer overflow in process_tx_info and process_rx_info
Currently data in "pl_tgt_hdr" is used directly from firmware without
any length check which may cause buffer over-read.

To address this issue add length check before accessing data offset

Change-Id: Ic2930fdf7168b79a8522be282b0e1cd19214742a
CRs-Fixed: 2191170
2018-03-20 14:34:00 -07:00
Chaithanya Garrepalli
974da2640a qcacmn: Avoid reference of peer object after peer_teardown
In API dp_peer_find_by_id return NULL if delete_in_progress
bit is set, this will avoid referencing peer memory which will
be free in peer_unmap event asynchronously.

Change-Id: Ieab559b9274a886809a9baa9bb348d348e924625
CRs-fixed: 2194265
2018-03-20 07:38:25 -07:00
Nandha Kishore Easwaran
3053deedfa qcacmn: Avoid mcast check in qwrap isolation mode
Donot perform mcast echo check in case of qwrap isolation mode.
In qwrap isolation mode, packets from wired station reaches the wireless
station via the rootap. Thus we need to allow loopback packets in qwrap
isolation mode.
Also add a configuration to set isolation mode.

Change-Id: If4a63abd477596f6b48c6cf9b6e7e5bd84ec95c0
CRs-fixed: 2204033
2018-03-20 05:59:09 -07:00
Tallapragada Kalyan
71c46b9357 qcacmn: WDS and AST specific code under different compile time flag
Based on requirement from customer we have re-organised
AST specific and WDS specific code under different compile
time flags.

Change-Id: Icbb0dff7c2e7a2239d82c296468fa8d3e4f53021
2018-03-20 05:59:07 -07:00
Om Prakash Tripathi
dc56b1e39a qcacmn: Detach scan object on release memory callback
Detach scan start request object from serialization object
on release memory callback. It's requred as some times
serialization ends up calling callback funtcions even after
calling release memory command due to race conditions.

Change-Id: Id0f74032de40bad679c27fe3e5ab1bf83e6dfcf5
CRs-Fixed: 2208227
2018-03-20 05:59:04 -07:00
Anish Nataraj
5034701e13 qcacmn: Assign ldpc from ppdu info and non-amsdu counter increment
Update ppdu rx stats ldpc value into cdp rx indication structure
Also, increment non-amsdu counter for peer/vdev/pdev level stats

Change-Id: I252b71756db7019c5a6d60eeebf9f0c782266e34
2018-03-20 02:10:09 -07:00
Anish Nataraj
0dae67614e qcacmn: Assign bss peer in peer map event
Assign num_mpdu to mpdu_tried_mcast for mcast stats updation
Defer bss peer assigning till peer map event arrives
Do not set delete_in_progress for bss Peer

Change-Id: I0881ea3c8804990c336d97cb7b239a991ec64fa9
2018-03-20 02:10:07 -07:00
Manikandan Mohan
eb61d7e09f qcacmn: Add WLAN Module name as log prefix
Add WLAN module name as logging prefix in multiple wlan driver
compilation environment for differentiating the logs pertaining
to each driver module.

Change-Id: Ib3aeaa280e3beb0de8ceb105e0989cb6004964d6
CRs-fixed: 2197751
2018-03-19 19:58:20 -07:00
Manikandan Mohan
b5387d4102 qcacmn: Fix export symbol for multi drivers compilation
Update dfs module files to use qdf_export_symbol to facilitate
multiple driver module compilation support.

Change-Id: Ib1b9605b7c017b1f366fe01b8f7e1ca0379fe217
CRs-fixed: 2197751
2018-03-19 19:58:18 -07:00
Manikandan Mohan
3fc6592581 qcacmn: Fix export symbol for multi drivers compilation
Update wmi module files to use qdf_export_symbol to facilitate
multiple driver module compilation support.

Change-Id: I44970ae510839cdf8f0e8446e39c4b6567eb2b93
CRs-fixed: 2197751
2018-03-19 19:58:16 -07:00
Manikandan Mohan
0f3c99b8ef qcacmn: Fix export symbol for multi drivers compilation
Update objmgr module files to use qdf_export_symbol to facilitate
multiple driver module compilation support.

Change-Id: I603a164ecfa2cc21f56cd823c84fb4b430546701
CRs-fixed: 2197751
2018-03-19 19:58:14 -07:00
Manikandan Mohan
a2993a595c qcacmn: Fix export symbol for multi drivers compilation
Update umac module files to use qdf_export_symbol to facilitate
multiple driver module compilation support.

Change-Id: Id982b3e0593b7c90244f2025decd10e97cb62f9c
CRs-fixed: 2197751
2018-03-19 19:58:12 -07:00
Manikandan Mohan
56a2bf8921 qcacmn: Fix export symbol for multi drivers compilation
Update target_if module files to use qdf_export_symbol to facilitate
multiple driver module compilation support.

Change-Id: I83b2d79a96909a2661a89a1129e17c291e9a2e03
CRs-fixed: 2197751
2018-03-19 19:58:10 -07:00
Manikandan Mohan
56c2608fa3 qcacmn: Fix export symbol for multi drivers compilation
Update spectral module files to use qdf_export_symbol to facilitate
multiple driver module compilation support.

Change-Id: I2ae9f4b38d67600f10a9c8991a5095ff50f7dfb2
CRs-fixed: 2197751
2018-03-19 19:58:08 -07:00
Manikandan Mohan
a18b86465c qcacmn: Fix export symbol for multi drivers compile
Update qdf files to use qdf_export_symbol to facilitate multiple
driver module compilation support.

Change-Id: I3bd0068bc2002b48a42da2c8f72bf84d49a6170f
CRs-fixed: 2197751
2018-03-19 19:58:06 -07:00
Manikandan Mohan
5bdb2fe470 qcacmn: Fix export symbol for multi drivers compilation
Update driver files to use qdf_export_symbol to facilitate
multiple driver module compilation support.

Change-Id: Ic7d7f65b79e92957b02c0386ba98af2adf17506b
CRs-fixed: 2197751
2018-03-19 19:58:03 -07:00
Sravan Kumar Kairam
cc33f70e91 qcacmn: Fix SMMU enable compilation error
Fix SMMU enable compilation error by protecting
IPA SMMU OS abstractions under feature flag.

Change-Id: Ib6a241d16a1906dad59781f1592988ce7eba1e57
CRS-Fixed: 2203169
2018-03-19 09:34:45 -07:00
Sravan Kumar Kairam
3738db4d3f qcacmn: Add QDF IPA abstraction for WDI UL params
Add QDF abstraction for WDI UL params used for IPA
WDI RX configuration.

Change-Id: If9daee345fbbd730e49fd236381273045919737e
CRS-Fixed: 2199017
2018-03-19 09:34:43 -07:00
Sravan Kumar Kairam
4e417e0ad0 qcacmn: Add APIs to get IPA SMMU status
Add APIs to get the IPA SMMU status

Change-Id: I5889f35739b220bd4ad38f4278c133cd97141b22
CRs-Fixed: 2176318
2018-03-19 09:34:41 -07:00
Sravan Kumar Kairam
58e0adfb53 qcacmn: Add support for WLAN-IPA WDI2 with SMMU Stage 1
Update WLAN-IPA WDI-2 datapath for DMA buffer sharing with SMMU
Stage 1 translation support. When SMMU Stage 1 is enabled DMA
APIs return IO virtual address(IOVA) instead of physical address.
This IOVA need to mapped to physical address by IPA module
before accessing them.

Change-Id: I33082bc74760b0f12c348238c6f48f5ce5750172
CRS-Fixed: 2072953
2018-03-19 09:34:39 -07:00
Himanshu Agarwal
59c25048cd qcacmn: Add QDF APIs for SMMU Stage 1 translation
Add QDF APIs for DMA buffer allocation and sharing with SMMU
Stage 1 translation support. When SMMU Stage 1 is enabled,
DMA APIs return IO virtual address(IOVA) instead of physical
address. This IOVA needs to be mapped to physical address by
external module before accessing these buffers.

Change-Id: I88e938d8ebe1f32fdea79e3c3aa8a3638ddfd2b8
CRS-Fixed: 2072953
2018-03-19 09:34:37 -07:00
Linux Build Service Account
b71c52d9c9 Merge "qcacmn: Add per-level logging wrapper APIs" 2018-03-17 04:48:08 -07:00
Linux Build Service Account
16960ff67a Merge "qcacmn: Rate limit logs based on elapsed time" 2018-03-17 04:48:07 -07:00
Dustin Brown
385b73090f qcacmn: Add per-level logging wrapper APIs
Depending on platform limitations and the intended audience of a
particular WLAN driver build, it would be useful to be able to compile
out specific logging level logs completely. To that end, introduce
per-level logging wrappers, which can be compiled in or out by the build
configuration.

Change-Id: Ie062ada403f8a31aebcde691396987ad9e5352b5
CRs-Fixed: 2205888
2018-03-16 21:51:49 -07:00
Dustin Brown
9a94c9a29d qcacmn: Rate limit logs based on elapsed time
QDF_TRACE_RATE_LIMITED() currently rate limits by only printing every
rate'th call to the function from the same location. Instead, prevent
logging messages more than some constant 'k' times per second. This
means any subsequent calls to the API from the same location within 1/k
seconds will be dropped.

Change-Id: I31a3f48f68fb6bc67f59f3157a635345943d3331
CRs-Fixed: 2205794
2018-03-16 21:51:48 -07:00
Linux Build Service Account
c13c0db118 Merge "qcacmn: Add support for vdev feature ext flag WLAN_VDEV_FEXT_AMSDU" 2018-03-16 18:50:48 -07:00
Rajeev Kumar
88de1dba44 qcacmn: Add common QDF API qdf_is_fw_down() to check fw status
Add common QDF API qdf_is_fw_down() to check if FW is down.

Change-Id: I8215665bec6975c8dd47ae3bb8423eeaaeba159c
CRs-Fixed: 2202731
2018-03-16 10:35:54 -07:00
Tallapragada Kalyan
084a46d276 qcacmn: memory leak in invalid peer handler
We need to free the chain of nbufs associated to
an a-msdu if its last msdu is not received and the one
received belongs to a new a-amsdu

Change-Id: Id90e58306650ad885caa79271e81de3bf81ee5bd
2018-03-16 03:36:11 -07:00
Wu Gao
328285da88 qcacmn: Handle multi P2P MGMT frame TX
When P2P mgmt frame comes and there is same channel ROC requested
but not start, it will be failed to restart ROC timer and then drop
this frame.

Change-Id: I40cc2b66a266ebf2aa1017669e6d97b1c7de3da1
CRs-Fixed: 2202954
2018-03-16 00:55:18 -07:00
Wu Gao
e25d5f4ba3 qcacmn: Enable more debug information for P2P
Change log level and enable more debug information for P2P connection.

Change-Id: I459869d48c7f688246bc6e566ad2fae395ff8a2b
CRs-Fixed: 2204758
2018-03-15 23:35:58 -07:00
Wu Gao
0685ec210f qcacmn: Set flag for deleting tx context
Duplicate for MGMT frame tx ack comes before scheduler process first
one, then it will use freed memory. Add flag to avoid this case.

Change-Id: Id50f692ced0ddd5b267d096818f3e7ff12bf07aa
CRs-Fixed: 2188110
2018-03-15 23:35:55 -07:00
Abhishek Singh
93809fdc42 qcacmn: Fix band scoring logic for 5Ghz channels
Use proper macro to check if channel is 5Ghz while calculating the
band scoring logic for 5Ghz channels.

Change-Id: Ib394f3ed0db6c64286a44b15c38fa3ffdcf8bdfb
CRs-Fixed: 2205658
2018-03-15 23:35:51 -07:00
bings
7fd216a629 qcacmn: Configure phyerr filter offload before sap starts
Do not send phyerr filter offload to FW when dfs module is doing
initialization, because in target_if_dfs_set_phyerr_filter_offload
routine GET_WMI_HDL_FROM_PDEV returns NULL at this time.

Configure phyerr filter offload before sap starts.

Change-Id: I60436fc1e142937383a3714c727166bc5fa8d0db
CRs-Fixed: 2204683
2018-03-15 11:51:18 -07:00
Gyanranjan Hazarika
257af1fa02 qcacmn: Add support for vdev feature ext flag WLAN_VDEV_FEXT_AMSDU
One of 11ax WFA PF requirement for testbed AP is disabling AMPDU
reception with AMSDU. To meet this requirement we should be able
to add a new feature ext flag to vdev. Add this new flag to meet
the specified requirement.

Change-Id: I36c889e6adf1724a31b404a917bd27c716a98862
CRs-fixed: 2201952
2018-03-15 11:47:04 -07:00
Poddar, Siddarth
8d33d9b7a8 qcacmn: Add connectivity stats rx function pointer
Add new rx function pointer for connectivity stats
as part of ol_txrx_ops structure.

Change-Id: I91300de995b20e5dfc2c85c780453e63ea14ec93
CRs-Fixed: 2168412
2018-03-15 09:32:53 -07:00
Amir Patel
c8d752f7b2 qcacmn: Add debug enhancements to object manager code
Firmware is not sending peer delete response, so peer is stuck
in logically deleted state for longer duration.
Maintain list of logically deleted objects (psoc/pdev/vdev/peer)
and iterate it periodically to identify if any object is stuck
in logically deleted state. If it is stuck, print object type
and MAC address

Change-Id: I16bdd49e2956bb0c34189a6ee540d7d0bae91202
CRs-Fixed: 2159522
2018-03-15 09:32:50 -07:00
Srinivas Pitla
cb89aac98c qcacmn: Add check for max pdev id on pdev search
Max pdev count check is performed before accessing the pdev list index

Change-Id: I755a5cb595824968b057321b13a6e1c837ece669
CRs-Fixed: 2177109
2018-03-15 08:05:11 -07:00
Amir Patel
7c1a52ca7a qcacmn: Fix duplicate scan entry visit while iterating scan database
Add an API for inserting new scan node before duplicate node
and modification in API to flush oldest entry in SCAN database.

Change-Id: I76018c994ad16f7fb1e52bceafacd82f78f756e5
CRs-Fixed: 2168481
2018-03-15 08:05:09 -07:00
Rachit Kankane
9cc217ab6a qcacmn: Compile out MTRACE feature
Fix to disabled MTRACE feature

Change-Id: I3cc30b47a9ba9dc9f99bf1185f99f0ae621f5f31
CRs-Fixed: 2189886
2018-03-15 08:05:06 -07:00
Karunakar Dasineni
860938ec59 qcacmn: Move monitor interrupt to separate group
Avoid monitor procees starvation by moving monitor interrupts to
a separate interrupt group. Currently these are part of regular
data ring interrupts, and are not being handled sometimes with
DBDC peak throughput, causing ring stall assertion failure in target.

Change-Id: I51d72187c68922de582be0a9da8e191e0e3c7bcf
2018-03-15 06:08:46 -07:00
Rajeev Kumar
0a7a3b15be qcacmn: Ignore qdf debug fs create failure during init/deinit
Debug fs create failure should not fail wifi turn on. Add logic
to allow wifi turn on even if kernel debug fs create API returns
failure.

Change-Id: I686362340d9ef0268ca7587ad30c726c33f1c427
CRs-Fixed: 2203330
2018-03-15 04:26:10 -07:00
Chaithanya Garrepalli
830d585032 qcacmn: Send max commands as param to wmi_unified_attach
Modify arguments of wmi_unified_attach to use struct to
send attach params instead of individual params. Add max
WMI commands as a param. Based on requirement MAX WMI
commands value is different. In case of AP that supports
16 VAPs and more than 512 clients, 1024 commands is not
enough. Use this param to configure this value based on
the requirement.

Change-Id: I4e778475481e509051dfbac70980614b644e1b4a
CRs-fixed: 2034438
2018-03-15 04:26:08 -07:00
Surabhi Vishnoi
11f5bd5daa qcacmn: Move the WMI_MAX_CMDS macro
The WMI_MAX_CMDS macro was defined in wmi_unified_priv.h, move it
to wmi_unified_param.h so that it can be used to set
wmi_unified_attach_params.

Change-Id: I33aaa3c1fb189c7ef660ccbc5262afd0a1ee258b
2018-03-15 04:26:06 -07:00
Dustin Brown
091393ef25 qcacmn: Add new resource config fields
Firmware recently exposed two new resource config fields,
num_packet_filters, and num_max_sta_vdevs. Add these fields to the
host-side resource config struct so appropriate values can be populated
and communicated to firmware.

Change-Id: I951ba6ac929c38c2d78af6705f4922b62fc7d3a1
CRs-Fixed: 2201876
2018-03-14 22:34:17 -07:00
Sravan Kumar Kairam
4af5290d97 qcacmn: Add QDF abstraction for IPA enums
Add QDF abstraction for Linux kernel IPA driver enums.

Change-Id: I9b61917768a109d12aefdc19a7822287337c9c18
CRs-Fixed: 2194166
2018-03-14 22:34:15 -07:00
Abhijit Pradhan
f83b87ed16 qcacmn: Print radar found string when usenol is set to 0 or 1
Print radar found string when usenol is set to 0 or 1.

Change-Id: I051a223c78c40ce9023e9c32bcf3dfaf7ec6e5a0
CRs-Fixed: 2204257
2018-03-14 22:34:12 -07:00
Tallapragada Kalyan
7a47aac367 qcacmn: Remove AST entry from previous peer ast_list for ast update
Remove ast entry from the previous peer ast_list and add it to the
new peer ast_list when ast_update is called

Change-Id: Ic6e628ec2c225e6743d042fe3f3e227cb1864a3c
2018-03-14 09:57:13 -07:00
Santosh Anbu
0a580a3840 qcacmn: Set mpdu data_ptr only for the right buffer length
Handle mpdu data pointer for PMF frames based on EXT IV bit only
if the buffer length requirement is met

Change-Id: I0243105846b1cffc43b87cdcb84c265b216e2e5a
CRs-Fixed: 2202912
2018-03-14 08:27:09 -07:00
jinweic chen
e87355474f qcacmn: fix monitor nbuf double unmap when rmmod
When reaping rx monitor msdu in dp_rx_mon_mpdu_pop, if msdu_ppdu_id >
ppdu_id, then the corresbonding dp_rx_desc will not be added to free list,
and in_use flag still is 1 but it has done nbuf unmap which linked
to this rx desc. meantime, if rmmod triggered then it will go through the
rx desc pool and unmap the linked nbuf that in_use flag is 1, panic
happened. add unmapped flag checking to avoid double unmap.

CRs-fixed: 2201071

Change-Id: Idead32b189f513897deebf646b72585b257151c2
2018-03-13 19:49:13 -07:00
Jeff Johnson
3a7fda4ab0 qcacmn: Remove DPU signatures from TDLS Add STA Response
The ucast_sig and bcast_sig fields in struct tdls_add_sta_rsp date
back to a previous version of the driver that used these signatures to
synchronize the data plane with the control plane. However the current
version of the driver does not use these parameters, so remove them as
the final stage of the plan to completely remove these signatures from
throughout the driver.

Since the converged struct tdls_add_sta_rsp must exactly match the
legacy tSirTdlsAddStaRsp data structure, this change is co-dependent
with the qcacld-3.0 change:
  qcacld-3.0: Remove DPU signatures from TDLS Add STA Response
  Change-Id: I765b090fc5dbe9bdaf83b05a72223c0a12f71a18

Change-Id: I7750fac9e4870d75358606bea427a5dbab97c665
CRs-Fixed: 2200973
2018-03-13 18:41:57 -07:00