提交图

16887 次代码提交

作者 SHA1 备注 提交日期
Vignesh U
e22d6a62b8 qcacmn: Update array boundary checks for regulatory API
The regulatory API reg_freq_to_chan_for_chlist()  uses num_chans as the
bound to access the array chan_list. While an invalid index INVALID_CHANNEL
is prevented from accessing chan_list, values that are greater than
NUM_CHANNELS are not prevented from accessing the array.

Prevent access to the array when the index is greater than NUM_CHANNELS.
Since INVALID_CHANNEL is also greater than NUM_CHANNELS, the existing
condition that prevents access to the array when num_chans is
INVALID_CHANNEL can be removed.

Change-Id: I8b9793b84fc5b3a9406389fd3482673dd4667cfc
CRs-Fixed: 3196165
2022-05-17 05:54:32 -07:00
Hariharan Basuthkar
1e745ce16a qcacmn: Initialize eirp and psd in reg_get_eirp_for_non_sp
Initialize eirp and psd in reg_get_eirp_for_non_sp to fix WHUNT failure.

Change-Id: Id2f9ca8b658648dd50d47647270ac05fd5f330c9
CRs-Fixed: 3196444
2022-05-17 00:48:54 -07:00
Subrat Dash
46d50239e8 qcacmn: Microsecond time stamping for hw tx latency stats
Use microsecond timestamping for the tx descriptors
for capturing the latencies more accurately. It will help
to determine the appropriate bucket.

Change-Id: I216e083a7c89b01b6f2f384c1c0a85ca323d3a3e
CRs-Fixed: 3165153
2022-05-16 17:18:48 -07:00
Linux Build Service Account
9252e0364d Merge "qcacmn: qdf: Add QDF module ID for DP SAWF" 2022-05-16 08:10:56 -07:00
Gerrit - the friendly Code Review server
9fa96009df Merge changes into wlan-cmn.driver.lnx.2.0 2022-05-16 07:59:24 -07:00
Ripan Deuri
75f4f36ba3 qcacmn: qdf: Add QDF module ID for DP SAWF
Add QDF module ID for DP SAWF.

Change-Id: I461e8f7f12d36b649c807d78d26f50d63d8b6a4d
CRs-Fixed: 3195161
2022-05-16 05:49:24 -07:00
Edayilliam Jayadev
2da6d3df11 qcacmn: Bypass management Rx reorder if the number of MLO vdevs is zero
Bypass management Rx reorder if the number of MLO vdevs the
given pdev is zero.

CRs-Fixed: 3194267
Change-Id: Ia286999fdf99bb2b77008c31dfb3a52731cd5167
2022-05-16 03:50:15 -07:00
Edayilliam Jayadev
e2ceb89b48 qcacmn: Change the order of reading mgmt Rx REO snapshots
Change the order of reading management Rx REO snapshots.

CRs-Fixed: 3193845
Change-Id: I55b9d49f9a1693ae01d88430552d202f55d006f1
2022-05-16 03:50:09 -07:00
Edayilliam Jayadev
bcc93ce051 qcacmn: Increase read retry limit for mgmt Rx REO
Increase the retry limit for reading management Rx reorder
snapshots.

CRs-Fixed: 3193277
Change-Id: I4474e4be5d15a0c5bd4d0c613b314950ddb26c6f
2022-05-16 03:50:02 -07:00
Harsh Kumar Bijlani
bf750e0364 qcacmn: Update peer_id with link peer_id in Rx monitor path for MLO
With MLO enabled, Rx monitor receives the sw_peer_id in the following
format in MPDU_START_TLV:
+---------------------------------------------------------------------+
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
+---------------------------------------------------------------------+
| CHIP ID | ML |                     PEER ID                          |
+---------------------------------------------------------------------+

For MLO station, sw_peer_id received in MPDU_START_TLV corresponds
to MLD peer. But for Rx monitor framework, link peer makes relevance.

Therefore, fetch and update the sw_peer_id with link peer_id in the
received ppdu in Rx monitor.

Change-Id: I8ffc32856fd364edbcec2d98c3f9e1f0643d40d1
CRs-Fixed: 3190668
2022-05-16 03:49:56 -07:00
Madhvapathi Sriram
1469515e43 qcacmn: Extend QCA_NL80211_VENDOR_SUBCMD_PEER_FLUSH_PENDING
Extend the peer queue flush command with following attributes
1. Enable to flush per TID peer queue
2. Enable to configure when to flush the peer/TID queue

Change-Id: I1c8a9ca82cdfdd67eaf69b73a8a7076ca9c02dab
CRs-Fixed: 3130761
2022-05-15 23:00:28 -07:00
Liangwei Dong
28ceb47c1d qcacmn: populate num_max_active_vdev in WMI init
Set num_max_active_vdevs to WMI init command and
extract it from WMI ready event.

Change-Id: I6d6377c03214fcab74c675839f136301ebf27834
CRs-Fixed: 3183010
2022-05-15 20:51:00 -07:00
Shashikala Prabhu
e8e9381db1 qcacmn: Correct the TID-to-link mapping debug print
Correct the TID-to-link mapping debug print.

Change-Id: I625c646f0747583be6809180ca195c6ba154d9cd
CRs-Fixed: 3196565
2022-05-15 11:29:50 -07:00
Aditya Kodukula
16c15a6499 qcacmn: Add support for MLO stats
As part of MLO stats feature, add support to send ll_stats
and get_station stats request to firmware for all the MLO vdevs.

Change-Id: Ic50a6294f868f0604d4cfc0d4b657b6085da2fb4
CRs-Fixed: 3181020
2022-05-14 03:35:17 -07:00
Sai Rupesh Chevuru
7e099c5668 qcacmn: Add new MOD_ID for reinjected packets
Add new module id DP_MOD_ID_REINJECT for reinjected packets.

Change-Id: Ieae5a878d7b3084b32f6b7e6eb6c2bbd4a246480
CRs-Fixed: 3192306
2022-05-13 14:37:31 -07:00
Yeshwanth Sriram Guntuka
c18a9b4699 qcacmn: Modify CE4 flag in host CE config for LI and BE targets
Modify CE4 flag in host configuration to support enablement of
copy completion interrupt for Lithium and Beryllium based
targets.

Change-Id: I71ccbaec9707dad59bcb2ee98919285a22eef351
CRs-Fixed: 3195349
2022-05-13 04:21:00 -07:00
Surya Prakash Sivaraj
7f57fa1bd9 qcacmn: Add sta_sap_scc_on_indoor_channel var to psoc/pdev
Add the variable sta_sap_scc_on_indoor_channel in
psoc and pdev reg objmgr, to access the INI value of
sta_sap_scc_on_indoor_chan

Change-Id: Ie0c41d75d0f617274743f5196e65dab93414b7eb
CRs-Fixed: 3191788
2022-05-13 04:20:54 -07:00
Surabhi Vishnoi
ecaa0f1f6c qcacmn: Allow rx UDP packets during roaming before peer map is received
In VoIP cases, no or minimal packet drop is expected during
roaming. Currently, data packets are dropped in host if they
are received after roam sync indication from firmware and before
peer map indication is received due to invalid peer.
This change allows rx UDP data packets during roaming before
peer map indication is received from FW if peer's auth_status
received in roam_sync_indication from FW is authorised.

Change-Id: Ic518b7cd0aef48a2b0f8c923a2e20838b07f3d1f
CRs-Fixed: 3168603
2022-05-12 23:34:21 -07:00
Ruben Columbus
5ad83e6c56 qcacmn: new handler for pf tags
add tags straight from ppdu_info to headrom for mpdu
tags are positioned per msdu_index within mpdu headroom.

Change-Id: I4863a7929ffd2e0a5d7f91f31ab6059f2b882de4
CRs-Fixed: 3183692
2022-05-12 11:54:26 -07:00
Jithender Miryala
dccc154314 qcacmn: Replace qdf timers with HR timer for preCAC timeout
Replace qdf timers with HR timer for pre CAC timeout and process
the preCAC completion work in workqueuecontext.

Since preCAC expiry is processed in H/W interrupt context
(while using HR timers), no other timer cancellation is allowed
('qdf_hrtimer_cancel' function will wait for the handler finish)

But if we  process the preCAC timer completion work in H/W context,
other timer cancellation will take time. To fix this, process the
preCAC completion work in workqueue context to allow other timer
cancellation.

CRs-Fixed: 3185213
Change-Id: Iaa24055e0d485f613e16d6110d22002fecf10821
2022-05-12 06:52:57 -07:00
Liangwei Dong
8b89b06a6a qcacmn: Add vdev parameter wmi_vdev_param_set_traffic_config
Add mapping of wmi_vdev_param_set_traffic_config
to WMI_VDEV_PARAM_VDEV_TRAFFIC_CONFIG.

Change-Id: I2147cad3fb5726551de64edcfc41bee2707150a6
CRs-Fixed: 3191504
2022-05-12 06:52:51 -07:00
Srinivas Pitla
feb53a95ee qcacmn: Release link peer ref if MLO peer attach fails
MLO peer attach fails if MLO peer with same MLD address gets
created. While freeing MLO peer, releasing of link peer ref
is missed

Fixed some of the corner cases handling with ml peer id, AID

Change-Id: Ia3ff13a3840083bfe389b39086a6c5aa1f709fca
CRs-Fixed: 3185069
2022-05-12 00:04:06 -07:00
Sai Pavan Akhil Remella
aabe3575e9 qcacmn: Add mode based flags to channels in PNO request
Currently 6 GHz channel flags are not set for channels
present in the list from PNO scan request but are set for
all other 6 GHz channels which are added when either of the
two below conditions are satisfied
1. Userspace sets NL80211_SCAN_FLAG_COLOCATED_6GHZ flag
in PNO scan request.
2. At least one 6 GHz channel is present in the PNO scan req.

Add flags for channels in the PNO scan request based on the
scan_mode_6g ini configured similar to active scan request.

Add changes to remove the RNR flag for the channel if the
corresponding short SSID entry is present in the RNR db
Cache since if colocated SSID is different userspace doesn't
include corresponding 2.4/5 GHz channel information in PNO
request.

Change-Id: I22c4f7ecf65d4ab09dfbbe126aefe02f9145de42
CRs-Fixed: 3119113
2022-05-11 16:50:46 -07:00
Chaoli Zhou
afbf38079c qcacmn: Disable obss scan for all vdevs in LPM case
Disable obss scan for all vdevs under each pdev
when try to suspend, not just only disable the first one.

Change-Id: I52e46f43727acf004165f39a262b018dc174cc7f
CRs-Fixed: 3190706
2022-05-11 13:21:40 -07:00
Sai Rupesh Chevuru
c5550678a0 qcacmn: FW based DMS support for 11v DMS
In QCN9224, when 11v DMS feature is enabled use
FW based DMS support instead of SW based WAR.

Change-Id: Icc5b9740f71bd00862e06950e4fe49c663d513b4
CRs-Fixed: 3182547
2022-05-11 12:02:13 -07:00
Rakesh Pillai
f74f73dc68 qcacmn: Add API to update DP rx tid BA window size
Currently, in case where AP advertizes BA window size
which is different than our max supported BA window size,
the HW gets configured for BA window size advertized by
the AP, whereas the ADDBA response indicates the window
size of the STA, which is less than the AP.
This mismatch leads to the BA bitmap to be incorrect.

Fix this by exposing an API from datapath for the update
of the final BA window size which is populated in the
ADDBA response.

Change-Id: I81a039f47a775990b426e9aca1daaaa9bdb6e88f
CRs-Fixed: 3187941
2022-05-11 09:41:23 -07:00
Edayilliam Jayadev
40dacfa471 qcacmn: Count MLO vdevs in a pdev
Count the MLO vdevs in a pdev. WLAN_VDEV_FEXT2_MLO feature
flag in vdev object is set for all MLO vdevs. Simple solution is
to increment/decrement the count on every set/clear of
WLAN_VDEV_FEXT2_MLO feature flag. Since this feature flag will be
set/clear at multiple places for a given vdev, this approach
will lead to wrong MLO vdev count. To fix this we need to
increment/decrement the count on first set/first clear of
WLAN_VDEV_FEXT2_MLO flag. Add a lock also to prevent the race
conditions.

CRs-Fixed: 3106235
Change-Id: Ice7edde04553088fbb7c9b769508d441ccd6e4bf
2022-05-11 05:53:18 -07:00
Amit Mehta
70a8e8a708 qcacmn: Track HTT nbuf map and unmap count
Add logs to track nbuf map and unmap count for HTT messages.

Change-Id: Ib2fdcdb03b2a8d5e574f34e3eef30601d3976664
CRs-Fixed: 3184850
2022-05-11 01:03:15 -07:00
Namita Nair
641d044574 qcacmn: Increase TX_DESC_POOL size
This is a WAR to match the TX_DESC_POOL size
to maximum number of VDEVs allowed.

Change-Id: I646a67ef2b611bea1ca5a6e2bf781a9454d409ed
CRs-Fixed: 3168359
2022-05-10 23:38:22 -07:00
Kai Chen
627746d6bb qcacmn: AFC device deployment type support
Add init sequence handling to support AFC device deployment type
Set AFC device deployment type to regulatory private obj

Change-Id: Ib041d2010552412aaaa41395915d948aa2ea2bba
CRs-Fixed: 3190288
2022-05-10 22:12:35 -07:00
Kai Chen
81f0e6a247 qcacmn: Add AFC device deployment type support
Add AFC regulatory target interface to support AFC device
deployment indoor or outdoor type in init sequence between
FW and host

Change-Id: I3caed77e943fdcaa947cb7e514c88b68604f55a3
CRs-Fixed: 3190262
2022-05-10 22:12:29 -07:00
Kai Chen
90907bdedd qcacmn: Add AFC device deployment type support
Add AFC device deployment type support in regulatory pdev
private object and add API to return the deployment type

Change-Id: I45e44766b25b21ce3024d73f4ed7a4daf3ecb026
CRs-Fixed: 3190240
2022-05-10 22:12:22 -07:00
Aravind Kishore Sukla
6932ea7f8a qcacmn: Replace kmsg logs to debug logs
Change kernel log level to debug level

Change-Id: Ib2736aff0f653d046d502d460f204bba2247246f
CRs-Fixed: 3182588
2022-05-10 09:11:47 -07:00
Amith Ajith
19f0a435c6 qcacmn: Add AFC location structure to AFC start request
Create data structure to store the deployment type(location) of AP for
AFC. Append this structure to the end of AFC start request.

Change-Id: I19756fd3ca7a77f11b673d2bf3b0382f29732847
CRs-Fixed: 3177624
2022-05-09 22:18:45 -07:00
Amith Ajith
ecd51a1f66 qcacmn: Add AFC Deployment type enum and deployment type to pdev_priv_obj
Declare the AFC deployment type enum and add deployment type member to
pdev_priv_obj.

Change-Id: Id11a0aac4fcc1b655436d9dbd876607178f27bd4
CRs-Fixed: 3186216
2022-05-09 20:45:31 -07:00
Vijay Krishnan
4bc26c9b2d qcacmn: Reset dfs chan state in CAC stop
When AP moves from DFS to NON-DFS channel, dfs chan state is
not updated and have state DFS_CAC_STARTED. Similarly, if the VAP
operating in a DFS channel goes down, the dfs chan state needs
to change to DFS_CAC_REQUIRED but the dfs chan state remains in
DFS_CAC_STARTED.

During CAC STOP, send the DFS event CAC RESET to change the dfs
chan state.

Change-Id: I21831e2c79da67375f8e340964f899ebd169fd85
CRs-Fixed: 3160346
2022-05-09 07:10:27 -07:00
Himanshu Batra
826f250128 qcacmn: Add support for mlo peer delete params
Add support for mlo peer delete params

Change-Id: Ic6ef0786f73a7bb16c8a5de035b13a0a56862125
CRs-Fixed: 3188357
2022-05-09 04:08:28 -07:00
Edayilliam Jayadev
d58c71c6ff qcacmn: Enhance mgmt Rx reorder debug framework
Enhance management Rx reorder debug framework.

CRs-Fixed: 3183165
Change-Id: I968b9cc3f9eef4f1e8c76dd5b2eb01df27fbabbd
2022-05-09 01:40:49 -07:00
Santosh Anbu
8cd30a16c8 qcacmn: Use "_" instead of "-" to diff b/w substate
"-" is used to differentiate between state and substate.
User "_" in substate string convention to avoid confusion between
state and substate strings.

Change-Id: I9efb8fd7edd60f5d28c8f774fb17bda49e64ca24
CRs-Fixed: 3188646
2022-05-09 01:40:42 -07:00
Sai Rupesh Chevuru
e775042c75 qcacmn: Avoid accessing of registers during VAP down scenarios
In the case of target recovery avoid accessing of HW registers
during the VAP down.

Change-Id: I4061d75ec0c153710aaa99ab7414a96136ff22f5
CRs-Fixed: 3190730
2022-05-07 13:09:55 -07:00
Jinwei Chen
691ffe9f3f qcacmn: Fix AST index for STA Vdev overwritten issue
For KIWI, STA AST index lookup search is enabled and remote
AP peer's AST index will be stored in STA Vdev if receive
AP peer htt peer map msg. but if STA TDLS connection happened,
host will receive another peer map msg for remote TDLS STA peer,
this remote TDLS STA peer's AST index will overwrite original AP's
AST index. if TDLS disconnected, STA vdev will still use remote
TDLS STA's AST index for TX, then TX to AP might fail.

Add is_tdls_peer flag in dp peer and configure this value by
cdp_peer_set_peer_as_tdls() from control path right after TDLS peer
created. if is_tdls_peer is true, do not store this TDLS peer's
AST index to STA Vdev, skip bss_peer flag setting as well.

Change-Id: I7b5df1caca6a0b5305a6e867cd92099b5f6a4890
CRs-Fixed: 3151035
2022-05-06 16:43:13 -07:00
sumedh baikady
5d0d6db673 qcacmn: Clear HW REO cache for shared reo qref entries
Clear HW REO cache when new entry is written to shared
REO qref table.

Change-Id: I43cffb66b3e7fdf62afb7ffc1729275b868b9888
CRs-Fixed: 3189158
2022-05-06 16:42:57 -07:00
Amir Patel
ca9379b181 qcacmn: Add fraglist to skb if num_frags exceeds MAX_FRAG
Add fraglist to skb if num_frags exceeds MAX_FRAG

CRs-Fixed: 3186124
Change-Id: I3112d63276fe00aea4fce2e287650078b1573d8a
2022-05-06 16:42:41 -07:00
Deeksha Gupta
928ebb4225 qcacmn: Update RNR IE as per 11be D1.4 specification
Update RNR IE fields as per 11be D1.4 specification.

Change-Id: I46b04e430ee4477117e8396d65a9de4608cd8dbe
CRs-Fixed: 3157064
2022-05-06 16:42:31 -07:00
Deeksha Gupta
598c7f9c07 qcacmn: Update ML IE handling as per D1.4 new definitions
Update multi link IE definition as per 11BE draft 1.4 spec.

Change-Id: I560d63019d10e22672dc95e9426fa6e8aca5a105
CRs-Fixed: 3156980
2022-05-06 16:42:10 -07:00
Srinivas Dasari
cc60bec109 qcacmn: Ignore H2E RSNXE support for test config
Userspace sends the vendor command WIFI_TEST_CONFIGURATION by
setting the attribute WIFI_TEST_CONFIG_IGNORE_H2E_RSNXE when
driver needs to ignore the SAE H2E mismatch for 6 GHz connection.
This is needed for certification test support

Change-Id: I5c1838598478ab74d72d57a765452d7fd989b701
CRs-Fixed: 3072578
2022-05-06 16:41:55 -07:00
Surya Prakash Raajen
7521505f91 qcacmn: Initialize teardown event only once
Initialize teardowen event only once, intializing
events multiple times leads to assert.

Change-Id: I93a72c787dffa7ab081df9cca8ba17cc065e207a
CRs-Fixed: 3186523
2022-05-06 16:41:43 -07:00
Vignesh U
1fe27938f7 qcacmn: Add array out of bound access checks
- Add NULL check of the pointer "afc_req" in the function
reg_get_partial_afc_req_info() before it is dereferencedi to avoid
NULL pointer derefernce.

- Add array size check in the reg_compute_chan_to_freq_for_chlist()
API to avoid the array out of bound access to "chan_list" array.

- Make use of the function reg_is_supp_pwr_mode_invalid() which
does the boundary check for the arrays chan_info->state_arr[] and
chan_info->chan_flags_arr[] to avoid out of bound array access.

- Add a check in the reg_freq_to_chan_for_chlist() API to avoid chan_list[]
array out of bound access.

Change-Id: Ifcade9e971a77f483d5c5138206eab47454f28ad
CRs-Fixed: 3184214
2022-05-06 16:39:15 -07:00
Abishek Ganapathy
9a7fa82e8f qcacmn: Update TLV length in peer map handler
Update TLV length in peer map handler to correctly point to the next TLV
header.

Change-Id: Ie60c62040cb35b60a3bfbd302a176294903c94e6
CRs-Fixed: 3183057
2022-05-05 09:50:32 -07:00
Sheenam Monga
6606026e3f qcacmn: Avoid re allocation of req in mlo_ser_set_link_req
In mlo_ser_set_link_req, req is again allocated and thus
the req->ctx.cb_arg doesn't points to the new memory.

so avod reallocating the req memory again in
mlo_ser_set_link_req and use the passed memory directly
as umac_cmd.

Change-Id: I0bdc9cf746b2a36c69b5ca0f773f06900a9783dd
CRs-Fixed: 3188736
2022-05-05 07:13:08 -07:00