Commit Graph

17569 Commits

Author SHA1 Message Date
Vulupala Shashank Reddy
899d504312 qcacmn: Fix FTM rx frames capture in packet capture mode
Currently the FTM rx frames are dropped in
tgt_mgmt_txrx_rx_frame_handler considering them as unspecified
packets as action category for FTM is not defined.

Define FTM action category so that the FTM frames will not be
considered as unspecified frames and dropped while processing.

Change-Id: Ieb3980978e38b3f826f42380e29798767c8f1fe2
CRs-Fixed: 3254409
2022-08-08 05:47:25 -07:00
Yeshwanth Sriram Guntuka
b4ff9ea317 qcacmn: Add functionality for rtpm prevent suspend sync
Add provision to call sync prevent suspend which will wait for
system to resume and increment usage_count before returning.

Change-Id: I855e3fc2660dc7f3f78bb70f8eef6228cbef96d3
CRs-Fixed: 3253335
2022-08-08 05:47:18 -07:00
jinbaoliu
5731d1c389 qcacmn: Fix the crash when execute hal_rx_tlv_l3_type_get()
This function fails to register in the 6750 platform.
Since some old chips do not have l3 type field, the
callback function cannot be registered, so this change
solves it by recognizing whether the callback is NULL.
If it is NULL, then return an invalid vallue: 0xFFFF.

Change-Id: I47c8df5e54eeac9489010e45057e44eccdb2bf22
CRs-Fixed: 3258200
2022-08-08 03:47:15 -07:00
Asutosh Mohapatra
d0c0584583 qcacmn: Handle gracefully if scheduler cb is not registered
Currently when firmware crashes during driver load,
message queue handlers for scheduler context are not
registered. While handling the FW down event, driver
posts the message to scheduler queue. Since the queue
handler is not registered, it results in crash.

To address this issue, handle the msg gracefully and
return error in case callback is not registered.

CRs-Fixed: 3251983
Change-Id: I5dd55e701cf332153dca1f6678271506b9690f6e
2022-08-08 03:47:08 -07:00
Author Amrit Sahai
dc5cc15bba qcacmn: Check ICMPV4 and ICMV6 are redirect or not
Add API to check ICMPV4 and ICMPV6 are redirect or not
This is to avoid a security breach.

Change-Id: I61e7c54c6d9279c1e7d2f316381fbc1c83ce5b4a
CRs-Fixed: 3233925
2022-08-08 00:16:44 -07:00
Yu Tian
c58feb9240 qcacmn: Force free leaking TX completion in PERF build
When TX completion entires are pending over 60 seconds,
Perform force free for these entries that belong to invalid
vdev. This could allow system to continue to go to suspend.

Change-Id: I34a39b8c7a9385fea0bed087e0644564f426bf90
CRs-Fixed: 3252807
2022-08-07 21:20:11 -07:00
nobelj
8d6fd579fb qcacmn: Add fix for memory leak
Added fix for two leak,
a) During wifi unload, buffer used in init need to be free during deinit.
b) Before buffer free, unmap is required for the buffer mapped to DMA.

Change-Id: I4e5a63b0c2aabb69367365e74961a63194144057
CRs-Fixed: 3157424
2022-08-05 15:16:16 -07:00
Tallapragada Kalyan
57f7c8363b qcacmn: get proper rbm value when 4th tx comp ring is not enabled
get proper rbm value when 4th tx comp ring is not enabled

Change-Id: Iaffe520afc72387d14ca72269fc61e597c85972c
CRs-Fixed: 3234810
2022-08-05 15:16:10 -07:00
Srinivas Dasari
bfc8b1f3dd qcacmn: Correct RSNXE capability indexes
Currently, RSNXE capability indexes are defined incorrect.
It seems BIT index is misinterpreted. Correct the same as defined
below in spec(IEEE Std 802.11-2020, 9.4.2.241, Table 9-780).

The Extended RSN Capabilities field, except its first 4 bits, is a
bit field indicating the extended RSN capabilities being advertised
by the STA transmitting the element. The length of the Extended
RSN Capabilities field is a variable n, in octets, as indicated by
the first 4 bits in the field.

Also, add a macro to check if the given akm
is WPA/WPA2 i.e. legacy than WPA3.

Change-Id: I3d8eee15f6734b2364628f699b7829a1edb246f0
CRs-Fixed: 3257715
2022-08-04 05:51:43 -07:00
Hariharan Ramanathan
4cd72cb0e6 qcacmn: Add changes to resolve compilation errors in QCA5332
Add changes to resolve the compilation issues faced with latest
sync in Miami

Change-Id: I5957c4c0ba7ac445b64fa57480e14093b7367f06
CRs-Fixed: 3255543
2022-08-04 05:51:36 -07:00
Nidhi Jain
ebb31019a3 qcacmn: Update max data length for waikiki
This is used in streamfs buffer size.
This is done in consideration with using upto
504 tones in place of 512 tones for CFR.

Change-Id: I7e45697e47f4b818b472b1bd8e91d785e676c506
CRs-Fixed: 3260185
2022-08-04 05:51:29 -07:00
Rohan Dutta
1f9ff41325 qcacmn: set partner link op-class
Update partner link op-class in station mode

Change-Id: I8d6908253e78adebabab724e7fd89737906367d2
CRs-Fixed: 3206442
2022-08-04 03:55:35 -07:00
Devender Kumar
f07e41c395 qcacmn: EasyMesh requires 7 vap per radio
Change the Max number of session id support by IPA
to 7 as EasyMesh requires 7 vap per radio.

CRs-Fixed: 3259857
Change-Id: I24a98e10e46d3720b6e210d023c750d056786bbf
2022-08-03 22:50:07 -07:00
Linux Build Service Account
660dfcdbc0 Merge "qcacmn: add tlv format to buffer along with debug mechanism" 2022-08-03 16:52:47 -07:00
Linux Build Service Account
fb2f3c9de4 Merge "qcacmn: Hook the UMAC reset in the target attach path" 2022-08-03 16:52:44 -07:00
Ruben Columbus
895c8bcde6 qcacmn: add tlv format to buffer along with debug mechanism
use msdu_count and index to occupy buffer headroom within mpdu.
new mechanism to debug buffer while using pf tags enabled

Change-Id: I1b7d8a1d7ec93f51869119294d2f0b14e3909fe9
CRs-Fixed: 3217284
2022-08-03 13:39:44 -07:00
Gerrit - the friendly Code Review server
e4533c8d78 Merge changes into wlan-cmn.driver.lnx.2.0 2022-08-03 10:26:22 -07:00
Shiva Krishna Pittala
8641a158f3 qcacmn: Hook the UMAC reset in the target attach path
Call UMAC reset initialization API from soc_attach_target().
FW exposes a service bit for this feature, use that to conditionally
enable this feature. Also, add default log levels for this feature.

CRs-Fixed: 3253464
Change-Id: Ia7c9cf07a7ab7b000ebe452ab074a82173b70129
2022-08-03 07:35:26 -07:00
Ming Jiang
53537c67e1 qcacmn: Support none 4k page size kernel
DP uses multi page allocation for tx/rx descriptor.
ID and offset mask of decriptor is based on 4096 which
couples with Kernel's MMU PAGE_SIZE. This cause trouble
when deploy driver on none-4K page size kernel.
Set qdf_dp_blockmem_size to 4096 so that DP won't
depend on kernel page size.

Change-Id: I17f5c10b394e8709e6b4b153f3dd094cf792787f
CRs-Fixed: 3235246
2022-08-03 05:29:55 -07:00
Shwetha G K
1705770b9f qcacmn: Add DBR htc endpoint and service
Changes to add and connect DBR endpoint service

CRs-Fixed: 3212766
Change-Id: I442925677c331e3ad650a7e7b4dc64dd058d6595
2022-08-03 01:34:46 -07:00
Naveen S
e86fc7ebe9 qcacmn: Removing error value return on event registration failure
WMI_SPECTRAL_CAPABILITIES_EVENTID registration returns QDF_STATUS_E_FAILURE
on failure which is not required as it is causing crash on failure where
event registration is failing i.e., Hawkeye + Swift

Change-Id: Id11d76941b12d0ee249d8f6e86612b351b732d78
CRs-Fixed: 3255827
2022-08-03 01:34:40 -07:00
Paul Zhang
dfb517c3f8 qcacmn: Enhance congestion report
Enhance congestion report by pdev extend stats.

Change-Id: I88e8456fa1e2cbe4f3aa8e94138dafba1166c9a9
CRs-Fixed: 2951006
2022-08-03 01:34:33 -07:00
Shwetha G K
72025682f2 qcacmn: Map DBR SVC to CE14
Changes to map the DBR SVC to CE14 on QCN9224 target.

CRs-Fixed: 3212763
Change-Id: I017c0ab03fff6661c883782008e0207806dc426b
2022-08-02 23:39:16 -07:00
Himanshu Batra
7c5f36a9de qcacmn: Move vlan related enum usage under feature macro
Move vlan related enum usage under vlan feature macro for IPA offload

Change-Id: If2af8ca5db9b31a161c20c3d82130ffea26cacb6
CRs-Fixed: 3258130
2022-08-02 08:54:55 -07:00
Jianmin Zhu
3b39d67856 qcacmn: Send roam param by QMI
If found rx link speed change from good to poor, or poor to good, need send
to F/W. It may happen frequently. To avoid power side effect, send to F/W
by QMI instead of WMI.

Change-Id: I2e7ddd3ae539257c6b195cb13da221f886debbba
CRs-Fixed: 3255042
2022-08-02 08:54:48 -07:00
[B
d8ebd88634 qcacmn: Add unsigned long for type casting void *
Add unsigned long for type casting void *

Change-Id: I72fb98b94356b5d279f0c46281fb8143e02df13d
CRs-Fixed: 3258275
2022-08-02 05:16:26 -07:00
Jeevan Kukkalli
2b76805c5a qcacmn: Handle FPMO filter configuration
Handle FPMO mode filter settings configured
from lite_mon tool.

Change-Id: I9bfe70101bae7c8f55c6db95d9c36f4c1d308e95
CRs-Fixed: 3235935
2022-08-02 05:16:18 -07:00
nobelj
7d3197b9a5 qcacmn: tx monitor populate stats information
add tx monitor stats information.

Change-Id: Iffc55c2a4fa5351140daeffac3a50dd6867f6ea1
CRs-Fixed: 3230286
2022-08-02 03:23:01 -07:00
Namita Nair
df5ecd264e qcacmn: Disable FEATURE AST macro
Handle build errors when
FEATURE AST macro is disabled.

Change-Id: I0f1bd4e349543b2e0ab212f65578f194956e3695
CRs-Fixed: 3228963
2022-08-02 03:22:54 -07:00
Arun Kumar Khandavalli
1630cd3afe qcacmn: Indicate the connect response through new kernel model
Add changes to indicate the connect response for the ml association.

Change-Id: Id59b00992356c9e66a7442e5351bf9372f055f8f
CRs-Fixed: 3241844
2022-08-02 01:15:00 -07:00
Nirav Shah
a87c585e12 qcacmn: Extend add timestamp logic for Beryllium
Extend add timestamp logic for Beryllium

Change-Id: I69604b83ce5fe7f112316148213d73fefc88ba9b
CRs-Fixed: 3245806
2022-08-02 01:14:53 -07:00
Jeevan Kukkalli
f79e9cc3dc qcacmn: Make dp_mon_free_parent_nbuf function public
dp_mon_free_parent_nbuf() function is required to be
used outside of file dp_rx_mon_2.0.c hence make it
public.

Change-Id: I2c300362fee3610fce0109704ea1849333bf9715
CRs-Fixed: 3250904
2022-08-01 23:32:45 -07:00
Ruben Columbus
7a962c59e6 qcacmn: add new files for HAL v2
add hal v2 new files

Change-Id: I7728be33db7d28e44d04f19c99e8b9f47145f2e3
CRs-Fixed: 3249002
2022-08-01 19:41:18 -07:00
Shwetha G K
a0e9c0fa4a qcacmn: Pass peer_type for peer deletion
Pass peer type as argument for peer delete API

CRs-Fixed: 3258071
Change-Id: I1ab18eaaabf690648f5910ca4d2d4b0462e14428
2022-08-01 16:36:32 -07:00
Edayilliam Jayadev
d6e188af07 qcacmn: Add lock for TSF calculation
Add lock at MLD level for TSF calculation of partner vdevs.

CRs-Fixed: 3240367
Change-Id: Ia9305e271aa69a5de2c21d66457deb921bd79c61
2022-08-01 08:54:28 -07:00
Jeevan Kukkalli
9f2e4a34b8 qcacmn: Disable deprecated monitor functions
Disable deprecated monitor feature functions
in wkk.

Change-Id: I2ef2f6219d95a2728452faffafe9f20a30eb28d8
CRs-Fixed: 3243020
2022-08-01 08:54:21 -07:00
Nidhi Jain
18377a6679 qcacmn: Add qcn9224defs for wkk v2
Added new file specific to qcn9224 v1 defs. Use qcn9224defs.c for v2.
Added changes specific to soc version check.

Change-Id: I5b6aedbb8aba2de847e0f4d47212a25b36bfa7c8
CRs-Fixed: 3243676
2022-08-01 01:34:59 -07:00
Gururaj Pandurangi
9e4b30c842 qcacmn: Fix EMLSR support bit assignment in WMI APIs
Fix EMLSR support bit assignment in both vdev start and
peer assoc add params APIs as the macro to set EMLSR cap
bit is not taking effect.

Change-Id: I7d96f4cc65301efa01d84e2afca7d89cdbc5fcf4
CRs-Fixed: 3250857
2022-08-01 01:34:51 -07:00
Deeksha Gupta
97b9216557 qcacmn: Send all partner BSSes before sending connect result to kernel
Currently, legacy driver sends only one connected BSS entry to
kernel while sending the connect response. But in case of MLO
connection, kernel will not have the BSS entry for the partner
link which may leads to connect response failure.

Fix is, in case of MLO, driver should send all partner BSS
entries to kernel before sending connect result.

Change-Id: Icf2c75f8029c44270c4b51e2ab3fcf861d221747
CRs-Fixed: 3240332
2022-07-31 23:44:16 -07:00
Santosh Anbu
e852941cea qcacmn: Support to print AST entries of MLO peer
Add support to print AST entries of MLO peer.
MLO AST table is global across SOC and hence any print AST request
will print the MLO AST table

Change-Id: I07554606617f43a8806e1c7243ca69a0c8ce335e
CRs-Fixed: 3246520
2022-07-31 00:05:59 -07:00
Harsh Kumar Bijlani
4447eb57d1 qcacmn: Correct the computation of retry_msdus in HTT Tx completion
Correct the computation of retry_msdus in HTT Tx completion

Change-Id: I480c3f37a52f4ae78a7ce16b5c5c24cf13c3e02a
CRs-Fixed: 3255489
2022-07-30 03:04:26 -07:00
Jinwei Chen
64d7493b30 qcacmn: add RX statistics per lmac for MLO connection
Add RX statistics per lmac for MLO connection.

Change-Id: I72b942732cc362c1613fae637bc5e1154f9e2ec2
CRs-Fixed: 3251609
2022-07-29 22:57:35 -07:00
Vulupala Shashank Reddy
6c419dc094 qcacmn: Update dp_get_pdev_param for Channel and frequency
Add provision to get channel and frequency from pdev.

Change-Id: I73f291ebf1517f7f2885853d43b873cfdbd86a93
CRs-Fixed: 3248485
2022-07-29 16:24:43 -07:00
Surabhi Vishnoi
0283e89faf qcacmn: Store per channel scan time completion info
Add APIs to update and get the time at which scan
is completed in that channel.

Change-Id: I8c594b1881fc83daa88800eac9eac94c2e0df64a
CRs-Fixed: 3239359
2022-07-29 16:24:36 -07:00
Deeksha Gupta
f2db099a03 qcacmn: Revert "qcacmn: Disable 11BE and MLO feature support"
This reverts refer to the Commit-Id
bfe1e87b25.
Driver will enable 11be and MLO feature support.

Change-Id: I8dea7ecc7ac7b8f914c05720aa4c6139f95ab066
CRs-Fixed: 3214037
2022-07-29 12:57:58 -07:00
Pragaspathi Thilagaraj
c73852b323 qcacmn: Fix filling PASN source mac address
Fix the condition to fill the source mac address
during initiate PASN authentication

Change-Id: I997e24e8d4654b6ccb4376b790659f2c79d45256
CRs-Fixed: 3253353
2022-07-29 09:21:04 -07:00
Shwetha G K
690e9eba92 qcacmn: Add flexibility to flush MLO peers only
Add changes to support flushing of MLO peers only.
This is required to support the mode-1 behavior of target
recovery feature, where we delete MLO peers and retain
legacy peers across SOCs which are not crashed.

CRs-Fixed: 3243549
Change-Id: I5ae326bfffd1267768c83fd7f60fa1343ef305fe
2022-07-29 09:20:57 -07:00
Sheenam Monga
21c6766062 qcacmn: Update Regulatory version
Currently Regulatory DB is updated to 40th version
but in comment 38th version is added.

Change-Id: I65ea330e6c06965255bd84b8831c738bf18eee45
CRs-Fixed: 3253391
2022-07-29 09:20:51 -07:00
Veerendranath Jakkam
2e5ddc9546 qcacmn: Get all the vdev's of mld
Get all the vdev of a ml device

Change-Id: Ie25304c00eed69b479bac552c8923144bf4cd41f
CRs-Fixed: 3250832
2022-07-29 09:20:44 -07:00
Namita Nair
dc6a757028 qcacmn: Support same link/mld peer mac address
Currently, if mld and link peer has the same mac
address, the peer cannot distinguished with
just the mac address as the search argument.

Hence to support same mld/link peer mac address,
cdp_peer APIs that uses both link and mld peers,
are also given peer_type info. This helps
to perform the operations on the correct peer.

Change-Id: If646755facc8f9a4d9fed2f31c5cc6618fa9a952
CRs-Fixed: 3043428
2022-07-29 05:57:06 -07:00