提交線圖

17455 次程式碼提交

作者 SHA1 備註 日期
Jinwei Chen
2e15ede864 qcacmn: fix rx de-frag issue for aes_ccmp security
In function dp_rx_defrag_ccmp_decap(), it will remove the 8 bytes
ccmp header for each fragment, but later at the end of dp_rx_defrag(),
8 bytes ccmp header will be removed again, then actual 8 bytes packet
data will be lost, de-frag failed.

Do not remove ccmp header in dp_rx_defrag_ccmp_decap() as it is not
necessary.

Change-Id: Ibf7beca38e9979a3203d4de702716c8e24e435fe
CRs-Fixed: 3263872
2022-08-12 22:46:58 -07:00
Shreedhar Parande
4854e732d7 qcacmn: Get UL-MUMIMO support from Target
Read UL-MUMIMO from target cap flag

CRs-Fixed: 3255924
Change-Id: I02d7644b3dc43c757d8363d8de0f66c856c041ce
2022-08-12 20:58:39 -07:00
aloksing
89d0469b44 qcacmn: Fix RCU issue due to infinite loop
Loop is continuing as chain index is getting assigned to zero inside loop.
Adding check for chain index to avoid infinite looping.

Change-Id: Ifff67c00b15d12195e5a3bf554de1529511c400f
CRs-Fixed: 3261913
2022-08-12 18:55:56 -07:00
Ashish Kumar Dhanotiya
ae8d97dcac qcacmn: Send feature set info to fw in wmi init command
Based on new requirement, driver needs to send feature set
information to fw as part of wmi init command.
With this change, fill the feature set info in feature set bitmap
and send this to fw with wmi init command.

Change-Id: Ic405c7e8e5ddd1399deacfaab240e979468c53c2
CRs-Fixed: 3262862
2022-08-12 18:55:50 -07:00
Ashish Kumar Dhanotiya
99694b6f53 qcacmn: Add support to get feature set info
Based on the new requirement, add support to get requested
feature set info from different feature components.

Change-Id: I75c5a3062312b1124d21d1ae429a7c5a18d9f2d0
CRs-Fixed: 3262867
2022-08-12 18:55:42 -07:00
Sai Rupesh Chevuru
086f192c0a qcacmn: Forward the igmp packet for intra bss processing
Forward the igmp packet for intra bss processing

Change-Id: Ie4838a00542e49e8d76503297332b99cf3e67563
CRs-Fixed: 3261921
2022-08-12 16:46:59 -07:00
Amir Patel
4720a30038 qcacmn: Optimize branch predictions in monitor path
Optimize branch predictions in monitor path

CRs-Fixed: 3265307
Change-Id: I7536a2fb94b350a678c123d7e0cfcd187816c96d
2022-08-12 13:49:05 -07:00
Sheenam Monga
b4064fc72a qcacmn: Add conditional compilation for 6 GHz BAND
Add 6 GHz function under CONFIG_BAND_6GHZ flag to avoid
multiple definitions and function defined but not used
issues.

Change-Id: I873300b3165df2f13b3c99d5e11e388dadde1fab
CRs-Fixed: 3265134
2022-08-12 08:27:10 -07:00
Ashish Kumar Dhanotiya
09c76ef447 qcacmn: Parse file name info as well from oem data event
Based on new requirement parse file name info as well from
oem data event.

Change-Id: Ifd4d086402821cd42e267f48879dc31a74017fa1
CRs-Fixed: 3262696
2022-08-12 04:28:32 -07:00
Debasis Das
73c7a4f2a3 qcacmn: Add support to calculate percentile delay-stats
Add support to calculate percentile of delay-bound
for for Tx-delay stats.

Change-Id: If386e0d1c5091f260aa4281adbd3debde4bf8446
CRs-Fixed: 3243170
2022-08-12 04:28:25 -07:00
Venkateswara Naralasetty
4fc084d9c6 qcacmn: change pool id validation for mon status ring process
Pool id validation should not be against MAX_PDEV_CNT because pool id
1 is valid in case of monitor status ring process. Hence, added a new
API dp_get_rx_mon_status_desc_from_cookie() which validate the pool id
against NUM_RXDMA_RINGS_PER_PDEV to get rx_desc from rx_desc_status pool.

Change-Id: I20baf8c667c1983eff08a204afe3736708d844d1
CRs-Fixed: 3262544
2022-08-12 04:28:18 -07:00
Basamma Yakkanahalli
8a1a784ac8 qcacmn: Add vdev feature flag for 20TU probe resp
6 GHz SAP needs to send either a probe response or fils
discovery at configured interval.  These in band
discovery frames can be disabled when lower band vdevs
are collocated with 6 GHz vdevs.

FILS disabled when lower band vdevs were up.
After vdev up send if WLAN_VDEV_FEXT_FILS_DISC_6G_SAP
is not set, host sending FILS command to enable 20TU.

Either driver or user not enabled 20TU probe response,
Host did not send the 20TU PRB RESP TMPL before sending
20TU PRB RESP enable command resulted Target assert.

Fixed this issue by adding 20TU vdev feature flag
and add appropriate check before sending command
to enable 20TU probe response.

Change-Id: Icb0ea5ef40b1fe2dd2dc6b97dc079ab7780e8cfc
CRs-Fixed: 3244471
2022-08-12 02:36:06 -07:00
Himanshu Batra
42809a7e56 qcacmn: Add fix to avoid out of bound access in monitor peer stats
Add fix to avoid out of bound access in monitor peer stats

Change-Id: I361a931803471d073a8120ee0d930ee3f042e0fc
CRs-Fixed: 3264994
2022-08-12 02:35:59 -07:00
jinbaoliu
7e761c2015 qcacmn: Driver provides rx rates info instead of FW
Driver is able to get rates info per MSDU, which can
exclude special frames like ARP, DHCP, etc. This change
is to refill the rates info parsing by rateflags from FW,
including legacy rate, MCS, NSS, BW, preamble, GI, etc.

Change-Id: I043c3ba5c2a06019f3e9bd1765e6b8430174cf6b
CRs-Fixed: 3263832
2022-08-12 02:35:52 -07:00
jinbaoliu
d1a40c701e qcacmn: Driver provides rx rates info instead of FW
Driver is able to get rates info per MSDU, which can
exclude special frames like ARP, DHCP, etc. This change
is to refill the rates info parsing by rateflags from FW,
including legacy rate, MCS, NSS, BW, preamble, GI, etc.

Change-Id: I129d5f0dc48758d1a92ac0c3622c1761cdae8286
CRs-Fixed: 3255467
2022-08-12 02:35:46 -07:00
Abhishek Singh
716388fe19 qcacmn: Add vdev info in cm_id to avoid same id across vdevs
In per vdev cm_id, same ids may get used across vdev's,
leading to confusion.

So add vdev id info in cm_id to avoid same cm_id across
vdev's.

How to read new id
Command_type   vdev_id    req_id
   0c            01        0001  = 0x0c010001
=> connect on vdev 1 req_id 1

   0d            00        0002  = 0x0d000002
=> disconnect on vdev 0 req_id 2

Change-Id: If526ea31a3d792a31c44ad607e1878691120dd7c
CRs-Fixed: 3263910
2022-08-12 00:39:57 -07:00
Ashish Kumar Dhanotiya
e1e2b8e42f qcacmn: Add support for feature set event capability
Add support for feature set event capability.

Change-Id: I6bfaaf5845722cde47602b6eb8d2bf205151cffd
CRs-Fixed: 3262642
2022-08-11 15:23:37 -07:00
Pavankumar Nandeshwar
bdb7f89395 qcacmn: Umac changes for umac prereset handling
Handle Umac prereset event from firmware.

Change-Id: I651eb9e6359399fe5689e4209e4685955d653973
CRs-Fixed: 3174560
2022-08-11 15:23:28 -07:00
Pavankumar Nandeshwar
1607e73a26 qcacmn: HIF changes for umac prereset handling
Handle Umac prereset event from firmware.

Change-Id: I88a25ae8eb403af40f044de4500ce42729da1e49
CRs-Fixed: 3174560
2022-08-11 15:23:20 -07:00
Pavankumar Nandeshwar
a839cac207 qcacmn: Datapath changes for umac prereset handling
Handle Umac prereset event from firmware.

Change-Id: I1d3d295468e97ebce5e7310055abc508e16e99b0
CRs-Fixed: 3174560
2022-08-11 15:23:13 -07:00
Yu Tian
ed3ba3ca44 qcacmn: Replenish more RX buffers when refill ring runs low
When nbuf allocation failure happens, there is no retry scheme.
So RX buffers in refill ring may shrink and not got enlarged.
This change is aimed to replenish more RX buffers when watermark
is less than critical low threshold.

Change-Id: I201b9e252ba08ba1bff47e0b5ec819a45f1b1ddf
CRs-Fixed: 3245915
2022-08-11 12:43:23 -07:00
Tallapragada Kalyan
f7a1c7e0c7 qcacmn: Add HW, SW and nbuf prefetch support in Berryllium
Add HW, SW and nbuf prefetch support in Berryllium, this will
ensure we have prefetched the HW desc, SW desc and nbuf by
the time we are in the 3rd iteration of the dp_rx_be_process
first loop.

CRs-Fixed: 3218647
Change-Id: I27d371c5d1c9a37d61e4fc00d5eb03609fad589c
2022-08-11 09:47:27 -07:00
jinbaoliu
7c19bfc5eb qcacmn: Fix CSI Stats being not collecting in MLMR Mode
Features that rely on monitor status rings do not work when
num_rxdma_status_rings_per_pdev is assign to 1. This change
will fix this issue by removing this assignment statement.

Change-Id: Ic7b8b84be6fa9c34c15a86cb6ec5174cc512ddd9
CRs-Fixed: 3258392
2022-08-11 09:47:19 -07:00
Deeksha Gupta
dd35ee28a5 qcacmn: Reset cm_id before release active command
Currently, Active command id is reset during memory release,
but a new command will become active before memory release
of serialization command, and if it try to check the active
cm_id (using cm_get_active_req_type) it will be valid, which
is incorrect.

Fix is, reset the cm id for active command before calling
release active command.

Change-Id: I6f4844c61349a00af5967f9c757844473244d737
CRs-Fixed: 3263863
2022-08-11 06:55:09 -07:00
Amir Patel
b86ca75702 qcacmn: Disable protocol flow tagging feature by default
Currently, protocol flow tagging feature is enabled,
disable it by default.

Change-Id: I8f3325344f0ddbb065beae6eb7761ebb493e2a09
CRs-Fixed: 3262389
2022-08-10 04:15:26 -07:00
Sai Rupesh Chevuru
ceccc982e3 qcacmn: Get the peer meta data from msdu end tlv
In QCN9224 fetch the peer meta data from the msdu end tlv
instead of MPDU start

Change-Id: Icd9420cd83e06abe5e54e9e05cc8cbf8d8312ae1
CRs-Fixed: 3245626
2022-08-10 01:18:45 -07:00
Sheenam Monga
7ca62390e7 qcacmn: Avoid incrementing usable channel count for 0 freq
Currently if both filters are added to get usable channels
i.e FILTER_CELLULAR_COEX and FILTER_WLAN_CONCURRENCY (3) then
all channels for required band are added first and then response
is updated based on cellular coex filter and invalid and avoided
channel frequencies are removed based on provided mode but for
FILTER_WLAN_CONCURRENCY pcl list is added, if frequency is not
present in response channel list and count is incremented. As
invalid frequencies are already removed from response before concurrency
check , so some pcl frequencies will not be present in the list and
count may be updated more than valid count.

Fix is to add frequencies based on concurrency filter first and then
remove invalid frequencies based on celluar coex filter to avoid
any invalid increment of channel list count.

Change-Id: I72b13c9c1f1bdfe3616d44fe893ce306634b022e
CRs-Fixed: 3262059
2022-08-09 21:07:49 -07:00
Linux Build Service Account
993160f198 Merge "qcacmn: Reduce wait count by packet counter delta" 2022-08-09 15:11:24 -07:00
Gerrit - the friendly Code Review server
55e6181344 Merge changes into wlan-cmn.driver.lnx.2.0 2022-08-09 13:16:00 -07:00
Edayilliam Jayadev
760841b1de qcacmn: Reduce wait count by packet counter delta
Update wait count as per the following formula.

new wait count = min(old wait count - packet counter delta, 0)

CRs-Fixed: 3261649
Change-Id: Ie5b2055e41518a87543b52c18c366f42291b8093
2022-08-09 13:08:17 -07:00
nobelj
653cfeb7b7 qcacmn: Add fix for response timestamp and others minor fixes
Added fix,
a. To populate response timestamp from phy timestamp.
b. Based on window type swap address1 and address2 to match the sniffer.
c. For VHT frames, increment 1 to the received nss value.

Change-Id: I68dffadb609d82e2ad2cf433fcee2a76b0be98e7
CRs-Fixed: 3235718
2022-08-09 08:19:03 -07:00
Priyadarshnee Srinivasan
c605b9e080 qcacmn: Send radar found event only for dfs channels
If radar is injected on the non-dfs segment of a DFS channel
(e.g. Operating channel is 36 HT160, center freq is 5250, freq_offset is
 -20, radarfound_freq = center freq + freq = 5230 (IEEE 46) which is a
non-dfs segment) using bangradar command, radar detect event on
non-dfs channel is sent to user space.
To ensure that radar found event is indicated only for DFS channel,
send radarfound event only if the final status of the API
dfs_process_radar_ind_on_home_chan() is a success. If the API returns a
failure (eg: radar on non-dfs segment), do not send radar detect event
to user space.

CRs-Fixed: 3254309
Change-Id: Iefc277348569e1494401f0ec215bb786e4153268
2022-08-09 06:40:34 -07:00
Jianmin Zhu
7ccd5d9e73 qcacmn: Don't block current thread when send msg to firmware
After received rx packets, host should keeps in active state for some time
(500 ms by default) until next runtime suspend is triggered, If found rx
link speed change from good to poor or from poor to good,  can send
to firmwware by WMI instead of QMI, QMI may block current thread for N msec
for sync mode is used.

Change-Id: I94b45ce6125a24466fbcf57e22f1a56cbdeefe9a
CRs-Fixed: 3262032
2022-08-09 04:59:32 -07:00
Subrat Mishra
a715124821 qcacmn: Smart Antenna retrieve Rx EVM info support
Smart Antenna retrieve Rx EVM info support for RX feedback collection.
Support is for Wikiki.

Change-Id: I0daa657efe1054dbcc58f9318e97be02701723e6
CRs-Fixed: 3255729
2022-08-09 04:59:25 -07:00
Tallapragada Kalyan
cea862a118 qcacmn: map tx ring to get_cpu instead of skb queue
skb queue is not always mapped to the proper CPU
hence it is good to map the ring_id to CPU through get_cpu
API.

Change-Id: I3bf76452cc1fcb2033ef1a8640c4dd31ecba61b3
CRs-Fixed: 3255144
2022-08-08 13:07:35 -07:00
Yu Tian
11df417c3b qcacmn: Add Link stats check before ring access directly
Throughput based RTPM logic of ring access may fail and
lead to NOC error in some corner cases. Change is aimed
to add additional link states check to prevent invalid SRNG
access.

Change-Id: I7e7edbadfd21b4857efa4faff0ada6d94d682f2c
CRs-Fixed: 3256702
2022-08-08 07:49:39 -07:00
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