提交線圖

3220 次程式碼提交

作者 SHA1 備註 日期
Amit Mehta
f8e6f61b2e qcacmn: Get vdev id from tx descriptor
Currently vdev id is passed from nbuf cb
but vdev_id is not being updated in nbuf cb
which is resulting in passing wrong vdev id to the
packet logging function.

So to fix issue pass vdev id from tx descriptor instead
of nbuf cb and also rate limit the error log in vdev NULL
case.

Change-Id: I69f568b7da52f1c96f208a220c6c4a7f6d98e082
CRs-Fixed: 3327359
2022-11-08 05:10:12 -08:00
Rakesh Pillai
927771f08c qcacmn: WAR for incorrect indication of first_msdu_in_mpdu
Currently the mdpu_desc_info from the msdu buffer tlvs,
for 2K-jump or OOR errors, if its the first-msdu-in-mpdu.
But if this flag is incorrectly indicated, there is a chance
of decoding garbage data and accessing invalid/NULL memory area.

In order to mitigate the above mentioned issue, add a sanity
check to determine if the first-msdu-in-mpdu has been processed
once and process/drop subsequent msdus based on this flag. This
flag also helps in handling cases, where first-msdu-in-mpdu
is indicated incorrectly for multiple msdus in an mpdu.

Change-Id: I990301d5a101dc7aa71303420bf49ab6fcee27c6
CRs-Fixed: 3325334
2022-11-07 18:44:17 -08:00
Chaithanya Garrepalli
86f7649e19 qcacmn: gracefully handle error packets on partner soc
Ideally in MLO, Rx buffers should be routed to error
rings of the SOC which owns the RX buffer or link desc
incase of any error or fragment

But in case of HW issue if the packets are routed to
partner soc. Handle gracefully instead of assert

Change-Id: Ia56188808dfd034e960e1c1345de8f760e4b05f1
CRs-Fixed: 3327959
2022-11-07 14:58:21 -08:00
Neha Bisht
bd144caad7 qcacmn: Set fast_recycled flag in fast xmit path
Set fast_recycled flag for packets in fast xmit path

Change-Id: I6388beb5d187d000c300898d1d1480e6654836eb
CRs-Fixed: 3306873
2022-11-07 13:11:32 -08:00
Chaithanya Garrepalli
67fa8470e3 qcacmn: WAR to avoid processing corrupted packet
In defrag path match addr1 with VAP mac address
and if there is mismatch do not process considering
it as corrupted packet

Change-Id: I003c07949e760ff4e64a7d22bfbefc25cc817ae2
CRs-Fixed: 3327977
2022-11-07 13:11:20 -08:00
Namita Nair
5ae67c7042 qcacmn: Fix argument type for vdev_ref_cnt
Typecast vdev->ref_cnt, from qdf_atomic_t to int,
using qdf_atomic_read() when logging as an
integer value.

Change-Id: I3432f5b8247a3031f1896d8964529a568fc3af19
CRs-Fixed: 3326096
2022-11-07 13:11:01 -08:00
syed touqeer pasha
e44617cc32 qcacmn: Extract TID from the SAWF MSDUQ
Extract TID from the SAWF MSDUQ

Change-Id: Iaa3e396644898eef32c4474a85421150e301eff5
CRs-Fixed: 3315716
2022-11-07 13:10:38 -08:00
Yu Tian
aa6032dba5 qcacmn: Use rate limit print for BAR frames
Use rate limit print for BAR frames to in avoid of
slow processing when BAR flood happens.

Change-Id: I92063787501c8f6467a211bd2695108a9fe42724
CRs-Fixed: 3325043
2022-11-07 13:10:30 -08:00
Linux Build Service Account
4bb3b90e65 Merge "qcacmn: Changes to enable CFR on special vap" 2022-11-07 08:21:26 -08:00
Nidhi Jain
2e2003d54f qcacmn: Changes to enable CFR on special vap
This change enables CFR captures on special vap.

Change-Id: Ifdaeccf7cc2211af5a2b82feae3a0b3ee45b617a
CRs-Fixed: 3308460
2022-11-07 00:44:52 -08:00
Sai Rupesh Chevuru
692be85e20 qcacmn: Forward 4 addr eapol frames to hostapd
Forward the 4 addr eapol packets received in
dp_rx_process_rxdma_err() to osif stack instead of network stack.

Change-Id: I1d8ff065096844ebe61974329754e54fc9d28640
CRs-Fixed: 3323480
2022-11-04 15:24:21 +05:30
Rakesh Pillai
559514f2b7 qcacmn: Code cleanup for one MPDU drop in monitor mode
Cleanup up duplicate code for one MPDU drop in
monitor mode.

Change-Id: Ic2f06192ec0ac27c78b5161f1d2c20b757f3b6be
CRs-Fixed: 3323287
2022-11-02 11:32:29 -07:00
Ripan Deuri
11ccd80f56 qcacmn: Add HAL APIs to read tsf2 and tqm scratch register
Add support to read TSF2 and TQM scratch regitser in the HAL layer
for WKK v1 and v2 board.

Change-Id: I0ef5e8cf4e06c0b5c98169252a81f70989285d2d
CRs-Fixed: 3321782
2022-10-31 13:38:15 -07:00
Santosh Anbu
938ddb0956 qcacmn: Add mon dp ops to set monitor filter
As part of mac address filtering feature for scan radio in special
vap mode, on addition of first NAC entry or deletion of last NAC entry
the corresponding monitor filter needs to be set or reset

Add change to support ops callback function required to set or reset
monitor filter settings are runtime.

Change-Id: I916c0b246bb180363f1a181ef49618af763b261d
CRs-Fixed: 3317409
2022-10-31 13:38:08 -07:00
Himanshu Batra
f72f76ba4c qcacmn: Update pdev telemetry stats to per AC level
Update pdev telemetry stats to per AC level

Change-Id: I0f3680875d28b6c4a7e671941373e42ee886cb16
CRs-Fixed: 3316937
2022-10-29 13:02:13 -07:00
Chaithanya Garrepalli
7c36d50fba qcacmn: Update replenish soc get for same SOC
In dp_replenish_soc_get() API return current
soc if chip_id of SOC matches

Change-Id: Iab7cc1809ab0e5daeb07dcfbd8f67a1d7ee9b12f
CRs-Fixed: 3297754
2022-10-28 04:59:12 -07:00
Azmath Mohammed
66a71fac21 qcacmn: Add pdev valid check
Add pdev valid check to avoid dereferencing of pointer

Change-Id: I5936797895e250cb6cea3087f273e7631223bc88
CRs-Fixed: 3320380
2022-10-28 04:59:04 -07:00
Rakesh Pillai
6271fe1a98 qcacmn: Fix the use of the incorrect rx pkt tlv length
Currently the monitor mode processing assumes the
rx pkt tlv to be consisting of RX_PACKET_HEADER tlv.
This assumption is incorrect in case of sta+monitor
mode, where the RX_PACKET_HDR tlv has not been subscribed.

Due to the above incorrect assumption, a certain portion
of the actual payload is being discarded, when the
rx_pkt_hdr tlvs are stripped off from the received buffer.

To mitigate this issue, use the rx_pkt_tlv length based
on the tlvs which are enabled, and configured to the
rxdma for reception.

Change-Id: I8f29db85bbd50316e3c2073ae9a2e79fd724be05
CRs-Fixed: 3318038
2022-10-28 04:58:54 -07:00
Srinivas Girigowda
31f0994955 qcacmn: Ignore flow pool unmap for inactive pool
If the flow pool status is inactive, then ignore flow pool unmap.

Change-Id: I53685d6031beb01bcc6f9368dc10f034cae56337
CRs-Fixed: 3322921
2022-10-28 04:58:45 -07:00
Ananya Gupta
b74658cb00 qcacmn: Increase timeout from 30s to 60s for freeing tx desc
Tx completions can be received after 30seconds, this is causing
race condition as there is a forceful freeing of tx descriptors
after 30seconds. This race condition corrupted tx desc pool's
freelist pointer which contains list of all free tx descriptors.
Increasing the threshold from 30seconds to 60seconds. Display
id for which tx descriptor is freed.

Change-Id: I5e0c78283747028de558f9c5db99f7089ffb7e97
CRs-Fixed: 3322566
2022-10-28 04:58:37 -07:00
Rakesh Pillai
f533809136 qcacmn: Drop mpdus received on non-monitor PMAC
Currently the monitor mode filter settings are set
for both the PMAC. Hence it is possible that the
non-monitor PMAC (the PMAC on which monitor vdev
is not running), can receive packets and forward them
to the monitor destination ring.

The above scenario will lead to a ppdu_id mismatch
when reaping the monitor status ring and comparing
the ppdu_id in status ring with the one in monitor
destination ring, since monitor status ring will
have ppdu_id from the PMAC on which monitor vdev is
running, whereas monitor destination ring will have
packets from both the PMAC.

In order to mitigate the above issue, detect the
packets in the monitor destination ring, which are
not from the PMAC where monitor vdev is running, and
drop them.

Change-Id: I32392ceeadffd9cb7a4dd76336004a9dcbb99404
CRs-Fixed: 3318036
2022-10-27 21:11:35 -07:00
Chaithanya Garrepalli
a34dd02dd0 qcacmn: Add skb fast recycler check in rx replenish
In ethernet TX fast recycle bit is set to buffer after
invalidate.

In Rx replenish API do not invalidate buffer if fast
recycle bit is set as it is already done

Change-Id: Ic74a96033a659baac381c921aff75296d155f169
CRs-Fixed: 3321142
2022-10-27 13:25:44 -07:00
Namita Nair
5fb7638690 qcacmn: Ignore flow pool unmap for inactive pool
This change will prevent flow pool unmap and delete
if pool status is inactive.

Change-Id: I071b84c6d99360af8aba97297efacb0a8682f343
CRs-Fixed: 3306110
2022-10-27 13:25:37 -07:00
Jeff Johnson
7747be1e7b qcacmn: Fix new misspellings of "address"
The following change introduced new misspellings of "address", so fix
them.
- Change-Id Idc9eec559b71ebb2dc39ea1d648a384ea0eb9559
  qcacmn: Fetch the reo qdesc from the peer

Change-Id: I29c71972d46a06c24fef2ed90d2a4226cc2ac654
CRs-Fixed: 3319356
2022-10-27 09:45:22 -07:00
Devender Kumar
8c9cc20350 qcacmn: Fix for peer unref
Reference taken on peer with wrong MODULE_ID, hence
while unref on peer is failing.

Change-Id: Ifd4360ad8db877cfbf67fb6d80fdfb41aee4ff56
CRs-Fixed: 3317145
2022-10-27 08:01:16 -07:00
Ananya Gupta
683ffb600f qcacmn: Force free leaking tx buffers in defconfig build
Currently, when tx completions are pending for more than 60
seconds, assert is generated in defconfig builds.
Force free leaking tx buffers in defconfig builds so system
can go to suspend in defconfig builds.

Change-Id: Ie66506d58e85176320c7aa35d49059f808be0054
CRs-Fixed: 3318409
2022-10-26 23:28:56 -07:00
Amit Mehta
ea172ef154 qcacmn: Do RTPM put during cleanup in case of WMI Tx completion failure
For WMI messages RTPM get is done during HTC message send and the
corresponding put is done in Tx failure or in Tx completion handler
for Tx success case. In the case where Tx completion is not received
for WMI messages RTPM put is not done as part of the cleanup which
results in RTPM Get and PUT call out of sync issues.

To fix the issue as part of HTC cleanup do RTPM put for WMI messages
for which tx completion is not received.

Change-Id: If92f4bd8a6c104d7ccef1e33b31aa765ea6100bd
CRs-Fixed: 3315404
2022-10-26 07:29:49 -07:00
Chaithanya Garrepalli
65ccbf611c qcacmn: Add assert for RBM id in REO error
On REO error ring only fragments should be
received and for MLO case fragments are not
supported we should not see any entries from
partner soc

Hence adding the assert to catch this case

Change-Id: I908b2dec88ec7f23fcd963d0c71515dee8865b71
CRs-Fixed: 3317715
2022-10-22 01:50:38 -07:00
jinbaoliu
6e28036679 qcacmn: Fix failing to get rx stats in MLO mode
In MLO mode, there are 2 link peers and 1 MLD peer. TX/RX stats
is kept in txrx_peer, which only exists in MLD peer. This change
aims at fixing HDD failing to get rx stats info when in MLO mode.

Change-Id: I046003018c72ca3c9129e3b9e5abca4a46a024ca
CRs-Fixed: 3298344
2022-10-20 10:55:25 -07:00
Jeevan Kukkalli
3bc974804e qcacmn: Add ini cfg to disable invalid decap type handling
Add ini configuration to disable invalid decap type handling
during rx mon tlv processing. This is a temporary change for
debugging purpose and will be removed once HW issue is resolved.

Change-Id: I75eb53170833224ddd144baf1b1d8034f988dd3c
CRs-Fixed: 3308998
2022-10-20 10:55:19 -07:00
Subrat Mishra
92fc6fa7c1 qcacmn: Add control frame stats accounting support
Add control frame stats accounting support.
Accumulate both per peer BAR and NDPA counts in Tx and Rx per PPDU stats
path. Accumulate per peer RTS success and failure count only in per PPDU
Tx stats path.

Change-Id: I78fb3546cd831559e208a7330feb2eb67b9a28de
CRs-Fixed: 3313435
2022-10-20 10:55:12 -07:00
Jinwei Chen
abbf1c968a qcacmn: fix compilation issue if WIFI_MONITOR_SUPPORT disabled
fix compilation issue if WIFI_MONITOR_SUPPORT is not enabled.

Change-Id: I6ea15fc0729bc0c999c6f10691200958e538bf79
CRs-Fixed: 3315379
2022-10-20 10:55:04 -07:00
Sai Rupesh Chevuru
ef34b5b9ab qcacmn: Handling of IGMP packets in MLO Multipass
Due to the CCE rule in QCN9224 IGMP packets will be routed
to err ring. When multipass is enabled, perform multipass processing
before handing over the packet to stack.

Change-Id: I50b747710eb3c49eab60c81bbc61e75e2f8650ed
CRs-Fixed: 3275888
2022-10-20 06:10:52 -07:00
Amrit Sahai
9313b57907 qcacmn: Add support to get jitter stats on peer level
Add support to get jitter stats on peer level

Change-Id: I5e37a24e93cde5e34e561b26c0834d9cfe42bf9f
CRs-Fixed: 3296380
2022-10-20 01:11:44 -07:00
Sai Rupesh Chevuru
cbce7e71c4 qcacmn: Avoid Wifi load issue for 256M profile
In 256M profile dp_li_rx.c file is not getting compiled.
Initialize dp_rx_chain_msdus_li() only when HOST mode is supported.

Change-Id: I96f71b9ea7869f0ba9fec05424b0a8c6f378f2f4
CRs-Fixed: 3314081
2022-10-19 22:31:00 -07:00
Kannan Saravanan
4aa7278f36 qcacmn: Initial changes for york bringup in Common dev to DP
Add device Id and target type checks for qcn9160 target
compilation.

Change-Id: Ic0391847af824ea7f6b85b574a0c5912ccd414c8
CRs-Fixed: 3282635
2022-10-18 11:57:31 -07:00
Jeff Johnson
ba48f03c44 qcacmn: Fix misspelling of "release"
Fix misspelling of "release" in dp_main.c

Change-Id: I6853908fdead1e1afbe160f52e67730df91025b1
CRs-Fixed: 3313926
2022-10-18 07:14:01 -07:00
Chaithanya Garrepalli
682c7e09d1 qcacmn: minimize lock contention in Rx replenish
Changes dp_rx_buffers_no_map_replenish API to
miminize the contention on RX refill ring lock

Change-Id: Ie55f034c6d01abbab21707460cd0f20548b35ba2
CRs-Fixed: 3313886
2022-10-18 05:22:34 -07:00
Jinwei Chen
2a6561273c qcacmn: support more dp srng with memory pre-allocation
add more ring type's size to wlan_dp_prealloc_cfg structure,
add DP_MON_PDEV_TYPE memory pre-allocation support.

Change-Id: I23aebaf7e7e78206ac49ebf02719f6b4dee99875
CRs-Fixed: 3314209
2022-10-18 05:22:27 -07:00
Chaithanya Garrepalli
64c4cb3524 qcacmn: Add ini support for RX low threshold interrupts
Add ini param "dp_disable_rx_buf_low_threshold" to disable
low threshold interrupts on regular rx refill ring. Default
it is enabled.

Change-Id: Ie471a4dc6862cbfe8b1eafe7c7d2ce2e0a7fcb7a
CRs-Fixed: 3313885
2022-10-18 01:42:37 -07:00
KARTHIK KUMAR T
ea38e7997e qcacmn: update RSSI specific parameters in mon pdev
Before we are updating RSSI params directly into mon_rx_status
this structure will reset every PPDU this breaks iwconfig,
wlanconfig and monitor packet RSSI values.
Fix added to storing the values in the mon_pdev.

Change-Id: I9f8fa776c65cbad84fac5e8c2f65b3fce1386e20
CRs-Fixed: 3276503
2022-10-17 16:22:51 -07:00
Jeevan Kukkalli
07113ba281 qcacmn: Check boundary conditions while allocating extra buffers
We allocate extra buffers than requested when watermark is less
than critical low threshold. While allocating extra buffers we
should check for boundary conditions so that total allocated
buffers is always within the range of available entries.

Change-Id: I2f24c6157cb2afcc8bc5ca84b7e0308588a4d99d
CRs-Fixed: 3307051
2022-10-17 03:02:31 -07:00
Vivek
3b1f7ced17 qcacmn: Add dp ini param for sawf stats
Add dp ini-param to configure sawf_stats.

CRs-Fixed: 3300948
Change-Id: Ifeb6935e2309be1f974c4da30b33a5caca308569
2022-10-16 21:43:21 -07:00
Sai Rupesh Chevuru
63d8ecaa0f qcacmn: Fetch the reo qdesc from the peer
When compact rx tlv feature is enabled fetch the
reo qdesc from the peer instead of rx pkt tlvs.

Change-Id: Idc9eec559b71ebb2dc39ea1d648a384ea0eb9559
CRs-Fixed: 3311270
2022-10-16 21:43:15 -07:00
Tallapragada Kalyan
4c45f8a2ed qcacmn: get HP of RXDMA ring without incrementing
get the HP of the RXDMA ring without incrementing
This will ensure in case of nbuf failures the ring
HP remains unchanged

Change-Id: I69ec9207a44a4c50484933797326e962ad2d4a5c
CRs-Fixed: 3309394
2022-10-16 07:49:31 -07:00
Tallapragada Kalyan
efff4ec854 qcacmn: Alloc nbuf only after rx descriptor is allocated
Alloc nbuf only after rx descriptor is allocated

Change-Id: Idc7fbb3e119761b877cfa4d625d1af84bf785ad2
CRs-Fixed: 3309036
2022-10-16 07:49:25 -07:00
Sushant Butta
dfed04fde0 qcacmn: Fix memory leaks
In some of the erorr cases, allocated mpdu's are not
freed leading to a memory leak.

Changes are done to iterate over mpdu queue and
frees allocated mpdu.

Change-Id: I18d3a57b366b9fa7aa934ac062c7acd1a9065d1b
CRs-Fixed: 3295577
2022-10-15 19:31:56 -07:00
Tallapragada Kalyan
c2e702fbf9 qcacmn: use hal api to get the reo_destination ring size
use hal api to get the reo_destination ring size

Change-Id: I6710dda215a13fb0b61173f4da0d6e780423faab
CRs-Fixed: 3309725
2022-10-15 10:30:43 -07:00
Sai Rupesh Chevuru
12c8b0d0be qcacmn: compact tlv support for QCN9224
Adding compact tlv support for QCN9224, As part of this change
Rx tlv size will reduce from 384 bytes to 128 bytes.

Change-Id: I3f42a781e42b2e696a5b25d9c5f333c8cc83b7fe
CRs-Fixed: 3274152
2022-10-14 23:42:02 -07:00
Jia Ding
ca6127c6de qcacmn: Fix build error for telemetry stats
With WIFI_MONITOR_SUPPORT=n and WLAN_TELEMETRY_STATS_SUPPORT=n,
declaration of struct cdp_peer_telemetry_stats within function
dp_monitor_peer_telemetry_stats is not visible.

Hence add WLAN_TELEMETRY_STATS_SUPPORT feature flag for function
dp_monitor_peer_telemetry_stats when WIFI_MONITOR_SUPPORT=n.

Change-Id: I2e4a789552296361c189552707d3e3c441a042e3
CRs-Fixed: 3310407
2022-10-14 15:21:06 -07:00