コミットグラフ

30967 コミット

作成者 SHA1 メッセージ 日付
Sheenam Monga
a0934e91a9 qcacld-3.0: Don't update tx power as min of reg and LPC
In case power constraint is not absolute then calculated
local power constraint is not updated as diff of regulatory
power and local power constraint. In case of power constraint
is not absolute the local constraint power is same as advertised
by AP and need to update as diff of regulatory power and LPC
advertised by AP.

Change-Id: Icc410c35c14aa2973789cdb26aa7a45ac1f6a0f3
CRs-Fixed: 3761422
2024-04-04 02:50:08 -07:00
Ravindra Konda
e4f2b72f3c Release 5.2.1.88X
Release 5.2.1.88X

Change-Id: Ia35bb87820969227d61b4461e4086385e0fac4db
CRs-Fixed: 774533
2024-04-03 23:52:47 -07:00
Srinivas Dasari
959e9dffce qcacld-3.0: Avoid ch switch when stand alone SAP is on unsafe ch
Some targets may prefer to keep SAP on same channel even when the
channel is marked as unsafe due to coex operations.
Check the corresponding device capability and avoid chan switch
when the SAP is fixed channel(non-ACS) SAP.

Change-Id: I8d003359a587c5308899e0956b0414074bd748b0
CRs-Fixed: 3776847
2024-04-03 23:52:46 -07:00
Ravindra Konda
db85cebedf Release 5.2.1.88W
Release 5.2.1.88W

Change-Id: I304b6695d416d57d399a545d482be3a07f486a46
CRs-Fixed: 774533
2024-04-03 16:41:18 -07:00
Surya Prakash Sivaraj
ce2736396f qcacld-3.0: Handle indoor concurrency for non-DBS SAP
For non-DBS solutions, if STA is present on an indoor channel
with operating bandwidth less than 80 MHz, the sta+sap indoor
concurrency support allows SAP to operate only on that BW.
However, the SAP BW selection logic selects 80 MHz BW for the
concurrent indoor SAP. Since, the SAP operation in 80 MHz
hosts indoor channels as well, the kernel tears down the SAP.

For the indoor STA+SAP concurrency, choose the same BW of
STA for the SAP operation.

Change-Id: I564eebb260ff973d459603029705afbd380f2161
CRs-Fixed: 3756878
2024-04-03 16:41:17 -07:00
Ravindra Konda
14c9a508a1 Release 5.2.1.88V
Release 5.2.1.88V

Change-Id: Ic9b9bf5fedcb4b1bc168265e74ca511f513b629b
CRs-Fixed: 774533
2024-03-31 10:58:39 -07:00
Srinivas Dasari
c0c64ac422 qcacld-3.0: Allow RSO_STOP even if the vdevs are not UP
Host has to issue RSO_STOP to firmware before performing any
vdev operations(start/stop/down/up,..). Otherwise firmware may
face memory corruptions if it tries to access the same
vdev while host is modifying it.
Currently, RSO_STOP is sent to firmware only if all vdevs are
UP. But in OWE/EAPOL offloaded roaming cases, assoc vdev
would be UP and partner vdev would be down till EAPOL is
done and keys are received from userspace. Connect is started
on partner vdev once the keys are received. Host driver is going
to do a vdev start as part of this connect. So, RSO_STOP is
supposed to be sent to firmware before performing any connect
operations on partner vdev.

So, send RSO_STOP to firmware right after sending
ROAM_SYNC_COMPLETE even if the link vdev is no UP.

Change-Id: Idaa15c7b0cedff5fd6f276626047f349c500a5b8
CRs-Fixed: 3769038
2024-03-31 10:58:38 -07:00
Ravindra Konda
7119280d0f Release 5.2.1.88U
Release 5.2.1.88U

Change-Id: Iaa22a2f290c6176eca252effd4d4d7025be54d82
CRs-Fixed: 774533
2024-03-29 15:50:21 -07:00
Surya Prakash Sivaraj
a95bd8afc3 qcacld-3.0: Fallback to MLSR if partner scan entry is not found
If join ML-probe response doesn't have the per-STA profile for any
of the requesting partner and if the scan entry for that partner
is not found in the scan table, then host should fallback to MLSR
connection.

However, instead of checking the scan entry for the partner links
from the scan table, the driver validates if the partner info is
present in the ml_info of the assoc link scan entry. The assoc link
scan entry would always have the partner info(from RNR IE) even if
the scan entry of that partner is not found.

Directly look up the scan table for every partner link mac.

Change-Id: I896f09a99346459c70ecac8a207dd38b91b58ce2
CRs-Fixed: 3770034
2024-03-29 15:50:20 -07:00
Abhinav Kumar
0ac3ad4233 qcacld-3.0: Fix NULL pointer dereference issue in DP
Pointer 'dp_ctx' returned from call to function 'dp_psoc_get_priv'
may be NULL in below APIs:
ucfg_dp_set_hif_handle
ucfg_dp_update_config
ucfg_dp_get_rx_softirq_yield_duration
ucfg_dp_register_rx_mic_error_ind_handler
ucfg_dp_is_roam_after_nud_enabled

Fix is to add NULL check for dp_ctx before use.

Change-Id: I040f1a6ed92ad572e625663eee9ea1dd0c5e8530
CRs-Fixed: 3770367
2024-03-29 15:50:10 -07:00
Abhinav Kumar
9bbab7990e qcacld-3.0: Return failure ind to upper layer
Host receives "get_tdls_capabilities" request
to get TDLS capabilities from user space.

Host should immediately return fail indication
to user space if memory allocation failed for
skb buffer in
__wlan_hdd_cfg80211_get_tdls_capabilities.

Change-Id: I9e0a14949b55ad811968b718f17022897cd646eb
CRs-Fixed: 3770374
2024-03-29 15:50:01 -07:00
Abhinav Kumar
63264f21b9 qcacld-3.0: Delete TDLS peer(s) irrespective of STA hash entry
During HB failure disconnection, Host is deleting all connected
TDLS peers only if dph lookup of STA hash entry is success.

In case if host receives add tdls peer from north bound and
HB failure disconnection from south bound, there is a chance
host first delete DPH hash entry before deleting TDLS peer(s).
This leads to TDLS peer leak and assert.

Fix is to make sure to delete all TDLS peers irrespective of
STA hash entry while processing HB failure disconnection.

Change-Id: I6c79eded7d9df511e567f4782189454dbbb14ec1
CRs-Fixed: 3744674
2024-03-29 15:49:51 -07:00
Ravindra Konda
e46f56f47f Release 5.2.1.88T
Release 5.2.1.88T

Change-Id: I6636fed199b216d70d9a23bf0ee65c2ec0a229f8
CRs-Fixed: 774533
2024-03-28 09:31:41 -07:00
Pragaspathi Thilagaraj
d1e3e92c23 qcacld-3.0: Don't increment discovery attempt for TDLS vdev
For MLO vdev currently the discovery attempts threshold is
multiplied by 2 to increase the discovery window thereby
increasing the discovery probability in noisy environmental
conditions. But 5 discovery attempts on each link is
sufficient threshold. Increased discovery attempts causes TP
issues with peer connected to different AP for MLO vdev since
frequent link active/inactive change happens.

So remove the discovery attempt multiplier for MLO TDLS vdev.
Enhance few debug logs.

CRs-Fixed: 3702198
Change-Id: If5513987447296140788c1ee021329dc721df65f
2024-03-28 09:31:40 -07:00
Ravindra Konda
3a931e6324 Release 5.2.1.88S
Release 5.2.1.88S

Change-Id: I2adcad763f2e93f9d6a839bd6f5f1f1725059109
CRs-Fixed: 774533
2024-03-28 08:23:12 -07:00
Jianmin Zhu
46fb673424 qcacld-3.0: Add check to avoid warning
Add pointer check to avoid warning

Change-Id: I924a0bdd11daaaa8b21378aab0566b5dba73ca41
CRs-Fixed: 3719443
2024-03-28 08:23:10 -07:00
Ravindra Konda
0777cabe6e Release 5.2.1.88R
Release 5.2.1.88R

Change-Id: Id2e614b0c2e759289371b3db4bf99155d6c025d3
CRs-Fixed: 774533
2024-03-28 04:50:54 -07:00
Will Huang
4b9bc8d052 qcacld-3.0: Check vdev id against max sap context array size
Currently vdev_id in mac_ctx->sap.sapCtxList[vdev_id] is check against
WLAN_UMAC_VDEV_ID_MAX(255), but sapCtxList[] array size is
SAP_MAX_NUM_SESSION(5), so change to check against max sap context
array size.

Change-Id: Id8370512194e6585c9e305b2c5a896e6d7bdbe0b
CRs-Fixed: 3671591
2024-03-28 04:50:53 -07:00
Ravindra Konda
a243945dc7 Release 5.2.1.88Q
Release 5.2.1.88Q

Change-Id: I7ecf73083164d6fb6d118169283dacb0be7d7aae
CRs-Fixed: 774533
2024-03-28 01:35:31 -07:00
Vinod Kumar Pirla
8b22fbb1a3 qcacld-3.0: Enable peer transition history
Enable flag to save peer transition history in host.

Change-Id: I28110748aa42dfee8f29b02764647367d3c0cd8d
CRs-Fixed: 3755803
2024-03-28 01:35:31 -07:00
Vinod Kumar Pirla
1f2aba85c0 qcacld-3.0: Store cdp peer setup/delete history
Any MLD peer setup call to cdp shall happen only after
clearing the existing MLD peer otherwise the MLD peer's
VDEV reference is lost on recreation. This leads to
VDEV reference leak.

Add history to track the peer setup and destroy sequence,
to understand the CP peer create/destroy sequence when
any such leak happens.

Change-Id: If338bc26e086490a3cc2bb4de32efa6a762ee0e6
CRs-Fixed: 3736548
2024-03-28 01:35:23 -07:00
Vinod Kumar Pirla
3348a67e47 qcacld-3.0: Add API to save and retrieve num roamed links
Add new APIs to save number of links to which FW roamed
and add new API to retrieve this saved info.

Change-Id: Idfd8727855bd5da97a3808c78e89a505ef06c249
CRs-Fixed: 3755754
2024-03-28 01:35:13 -07:00
Ravindra Konda
d631abd3e8 Release 5.2.1.88P
Release 5.2.1.88P

Change-Id: I267030311c6ea7e332723689c1d62ce991627135
CRs-Fixed: 774533
2024-03-26 18:59:44 -07:00
Srinivas Dasari
6472be5eda qcacld-3.0: Enhance coex_unsafe_chan_nb_user_prefer for P2P mode
Currently, firmware-reported unsafe channels are ignored
and userspace configured channels are honored when
coex_unsafe_chan_nb_user_prefer ini is set. This is supported for
SAP mode only.
But some platforms may want driver to ignore the firmware-
reported coex channels for P2P-GO also.
Enhance the ini to allow user to configure mode specific
bit as mentioned below,

BIT 0: Don't honor fw coex/unsafe channel info for SAP mode
BIT 1: Don't honor fw coex/unsafe channel info for P2P-GO mode

Change-Id: I91a2c6b2da9aba411d081f6ae3b23d374fe53159
CRs-Fixed: 3766393
2024-03-26 18:59:44 -07:00
Ravindra Konda
4d305e8621 Release 5.2.1.88O
Release 5.2.1.88O

Change-Id: I060c420f687c5b4b28ea89a4e81f88d53d2f6ea9
CRs-Fixed: 774533
2024-03-26 13:09:49 -07:00
Pragaspathi Thilagaraj
361415f49b qcacld-3.0: Don't check AP capability for TDLS ADD BA request
In lim_process_addba_req(), the aggregation size is filled based
on the pe_session capability. But in case of TDLS the negotiated
session capability can be higher than the AP capability. So
when we are connected to lower capable AP (ex: 11b/g)and TDLS
happens on higher capability(11ax), then the aggregation size
is also having lower capabiltiy based value. This causes reduced
throughput.

So if peer is a TDLS peer, then don't check the pe_session
capability which is filled based on the connected AP capability.

Change-Id: I4ab6075102cb9495f62d790cd48f1c3b0e51cdc3
CRs-Fixed: 3708986
2024-03-26 13:09:48 -07:00
Ravindra Konda
6652b706e7 Release 5.2.1.88N
Release 5.2.1.88N

Change-Id: If8e06ae75f03b83ac787cdfd51fdb344ba5d92a4
CRs-Fixed: 774533
2024-03-22 06:29:14 -07:00
Nijun Gong
6cfd908441 qcacld-3.0: initialize spinlock before using it
Init dp_link_del_lock to avoid bad magic issue.

Change-Id: Ia30e98d932cb6c5613f79b449f2b9d94ab43e756
CRs-Fixed: 3725021
2024-03-22 06:29:13 -07:00
Ravindra Konda
b3c1b78a9d Release 5.2.1.88M
Release 5.2.1.88M

Change-Id: Iff3cf7914f8cca2f4626073039e8d1459b5b966e
CRs-Fixed: 774533
2024-03-22 05:30:06 -07:00
Aasir Rasheed
ae4cecadd8 qcacld-3.0: Allow STA + SAP scc on non DBS solution
Currently, Host driver is rejecting force scc on non DBS
solution when QDF_MCC_TO_SCC_WITH_PREFERRED_BAND is set.

This change is to allow STA + SAP concurrency on non DBS solution.

CRs-Fixed: 3716279
Change-Id: Ief73a57d23f627764eca00254acf4cf7e9acd963
2024-03-22 05:30:05 -07:00
Ravindra Konda
b526480388 Release 5.2.1.88L
Release 5.2.1.88L

Change-Id: I5fb98e1cdecb5c9f2e15d1f8fc7f4efba9acbfdb
CRs-Fixed: 774533
2024-03-21 22:51:01 -07:00
Jianmin Zhu
c1f32a8f8e qcacld-3.0: Fix 11BE 320M CSA issue
802.11be_D5.0 spec updated Transmit Power Envelope IE and it's length, so
Channel Switch Wrapper IE length check became wrong.

To fix it, remove Channel Switch Wrapper IE length check.

Change-Id: Ib8eebb58d8320d80555dd6257af86917d01adda7
CRs-Fixed: 3763536
2024-03-21 22:51:00 -07:00
Ravindra Konda
1889259fc4 Release 5.2.1.88K
Release 5.2.1.88K

Change-Id: I78cc1fd0e34d7d2024c5c43027b9ccc97266e9ba
CRs-Fixed: 774533
2024-03-20 17:50:54 -07:00
Asutosh Mohapatra
7220c44968 qcacld-3.0: Consider AP advertised PSD power for tx power
Currently if AP is advertising PSD power in TPE IE
host is parsing and storing the PSD power info, but
during TPC calculation it doesn't use AP advertised
PSD power and configures local regulatory PSD power
to FW. This is incorrect if AP advertised PSD power
is lesser than local regulatory TX power.

To address this issue, take min of local regulatory
PSD power and AP advertised PSD power.

Change-Id: I6682f3e3f19ffa65a2bc4593b3d04722fa625999
CRs-Fixed: 3757711
2024-03-20 17:50:53 -07:00
Vinod Kumar Pirla
01ea7de481 qcacld-3.0: Validate peer's EHT capability along ML cap
If for any reason EHT capability of peer is not properly
parsed from (re)assoc request but MLO IE is proper, the
creation of peer is happening as MLO without EHT capability.

Also in the assoc response frame, the EHT CAP and EHT OP IEs
are filled based on SAP EHT capability but not considering
the peer's EHT capability. This can lead to memory overflow.

Always determine that peer is EHT capable before checking for
MLO capability.

Change-Id: I46fa97610ed6252d48b9d52721fa307ed01b388f
CRs-Fixed: 3752411
2024-03-20 17:50:47 -07:00
Ravindra Konda
296e5ca57c Release 5.2.1.88J
Release 5.2.1.88J

Change-Id: I64fa63c375350146c6458681d661bd5da65eab85
CRs-Fixed: 774533
2024-03-20 15:06:39 -07:00
Abhinav Kumar
c4ee4f2055 qcacld-3.0: sae auth cleanup for roaming vdev
Expectation is on every commit/confirm request
from supplicant, host should start SAE retry
timer and, on every commit/confirm response
from AP, host should stop SAE retry timer.
But currently while processing SAE confirm
confirmation from AP, host fails to stop timer
for roamed VDEV. This results to SAE retry timer
timeout.

Fix is to stop SAE retry timer while processing
SAE confirm confirmation from AP for roamed VDEV.

Change-Id: Idfb8e8d5271b5c1c9f37b06ba3fa178ee69b4130
CRs-Fixed: 3752963
2024-03-20 15:06:38 -07:00
Abhinav Kumar
2610e0b2e7 qcacld-3.0: Disable UL MIMO feature as per INI
Host update “UL MU-MIMO” bit as HE cap in assoc request
based on below 2 things:
1. "enable_ul_mimo" INI
2. FW capability WMI_HECAP_PHY_ULMUMIMOOFDMA_GET

Fix is to overwrite he_cap->ul_mu feature in assoc request
configured via above FW capability with value of ini
"enable_ul_mimo".

Change-Id: I6ede13ec107a194f11a094ccd954155e859c02ec
CRs-Fixed: 3750038
2024-03-20 15:06:27 -07:00
Pragaspathi Thilagaraj
1b03ebf40c qcacld-3.0: Release TDLS wakelock upon peer teardown
Currently TDLS module acquires WIFI_POWER_EVENT_WAKELOCK_TDLS
wakelock and prevents run time suspend when TDLS is enabled for
a peer. While releasing the wakelock and allowing suspend, it
checks for the connected peer count in tdls_update_pmo_status().
But the peer count is not decremented here yet.

Below is the current call sequence:
tdls_disable_offchan_and_teardown_links()
	-> 1. Call tdls_reset_peer() -> this calls
	      tdls_set_peer_link_status() ->
	      tdls_update_pmo_status()
	-> 2. tdls_decrement_peer_count() - Sets the
	      connected peer count to 0

Update the sequence as below:
call tdls_decrement_peer_count() first and then call
tdls_reset_peer().

CRs-Fixed: 3735021
Change-Id: Idf91a0c96c9660df466143f8ac115f694b3070d2
2024-03-20 15:06:17 -07:00
Ravindra Konda
48b67ca706 Release 5.2.1.88I
Release 5.2.1.88I

Change-Id: I6ee796cc6becb8f6ff0dc15c53a9e3db468ade8f
CRs-Fixed: 774533
2024-03-19 17:30:11 -07:00
Deeksha Gupta
8dc963e473 qcacld-3.0: increase the link state command timeout
Whenever the driver link state command is issued the system
could be in or entering the RTPM suspend/resume, The current timeout
of driver link state command is only 800msec which could not be enough
for the RTPM suspend/resume sequence to complete.

Increase the link state command timeout value to account for RTPM
suspend/resume sequence.

Change-Id: Ieced72ae330e9820c6ba1f4fb874d4b600c18656
CRs-Fixed: 3730449
2024-03-19 17:30:10 -07:00
Ravindra Konda
18f0d0deec Release 5.2.1.88H
Release 5.2.1.88H

Change-Id: Ib556c076ce3a202aae896adea9432fb2d85d0505
CRs-Fixed: 774533
2024-03-18 10:44:36 -07:00
Surya Prakash Sivaraj
1b781053a7 qcacld-3.0: Ignore PCL scoring for non-DBS STA
HW is non-DBS. SAP is UP in 6 GHz. Now, when a STA connection is
attempted, the pcl for the second connection would have SAP SCC
channel with highest priority, all the 5 GHz channels with 2nd
highest priority and the 6 GHz channels with least priority.
Therefore, even if there is a strong 6 GHz candidate for STA, the
5 GHz candidate would be chosen and the SAP moves to SCC in 5 GHz.

To fix this, ignore the pcl scoring for the non-DBS concurrency
cases as the SAP can move to the channel of the best STA interface.

If the SAP is in legacy band, and if still a 6 GHz STA is chosen,
then the legacy SAP would be torn down. So, give STA the best
possible in non-DBS case.

Change-Id: If268b61c61e77db96b499437cdbc95188240fba8
CRs-Fixed: 3749399
2024-03-18 10:44:35 -07:00
Ravindra Konda
7688d07d0e Release 5.2.1.88G
Release 5.2.1.88G

Change-Id: Ie4eb3247fdf4df43d33fde5b8ce0d2bc6977aa93
CRs-Fixed: 774533
2024-03-18 01:55:48 -07:00
Amit Mehta
4e253feb66 qcacld-3.0: Export API to store monitor interface flags
Currently STA+Mon mode is not supported in LPC case
as both mode uses monitor interface to capture
packets. So to distinguish between two different
monitor modes export new API to store monitor interface flags

Change-Id: I463353a1a01f53d48e004f60c52c24f1d8084154
CRs-Fixed: 3739289
2024-03-18 01:55:48 -07:00
Amit Mehta
075324580c qcacld-3.0: Add changes to check and store monitor interface flags
Currently STA+Mon mode is not supported in LPC case
as both mode uses monitor interface to capture
packets. So to distinguish between two different
monitor modes.
Add changes to distinguish between two different
monitor mode based upon monitor flags bit.

Change-Id: If916b777fb0c3247c3dd2b8561001d1e2a59a4e6
CRs-Fixed: 3739285
2024-03-18 01:55:40 -07:00
Ravindra Konda
7bf58fd3a5 Release 5.2.1.88F
Release 5.2.1.88F

Change-Id: Ica925425abc448cae24b5aed6467163f93b17f78
CRs-Fixed: 774533
2024-03-17 06:18:16 -07:00
Abhinav Kumar
dbcb2217fa qcacld-3.0: Drop BTM frame based on BTM cap in assoc req
As per new requirement, If DUT associates with an AP does
not support BTM then when host receives BTM req frame
from FW. Instead of forwarding the BTM req frame to
supplicant, host should drop it.

Change-Id: Ie6b6c27c01b072fac19dc039327cb9a86370b535
CRs-Fixed: 3746758
2024-03-17 06:18:15 -07:00
Ravindra Konda
11081de764 Release 5.2.1.88E
Release 5.2.1.88E

Change-Id: I171638fa80457960abca2bd61ef21b0874a423ec
CRs-Fixed: 774533
2024-03-17 02:24:33 -07:00
Jianmin Zhu
8ccbca35ef qcacld-3.0: Avoid RSO start during OWE link connecting
When OWE roamed to 2 links AP:
1. Set vdev1 connect_req bitmap.
2. Trigger vdev1 disconnect.
3. Clear vdev1 connected_links bitmap.
4. Clear vdev1 connect_req bitmap.
5. Trigger vdev1 connect.
6. Set vdev1 connected_links bitmap.

between #3 and #6, App can send RSO start to F/W before vdev1 up,
F/W will assert during next roaming.

To fix it, if vdev connect_req bitmap is set, don't allow RSO start,
clear vdev1 connect_req bitmap in last step.
1. Set vdev1 connect_req bitmap.
2. Trigger vdev1 disconnect.
3. Clear vdev1 connect_req bitmap.
4. Trigger vdev1 connect.
5. Set vdev1 connected_links bitmap.
6. Clear vdev1 connect_req bitmap.

Change-Id: I4157a5adcf4e41995bdb92a888bd8d2fcb5994a3
CRs-Fixed: 3719140
2024-03-17 02:24:33 -07:00