Commit-Graf

31191 Incheckningar

Upphovsman SHA1 Meddelande Datum
Ravindra Konda
8cd50652aa Release 5.2.1.89F
Release 5.2.1.89F

Change-Id: Ia960866ba0682f65e3e2eaa21806e860e0143f83
CRs-Fixed: 774533
2024-04-11 22:21:34 -07:00
Gururaj Pandurangi
ec54ce1398 qcacld-3.0: Add support to update dot11mode based on regdb
Certain countries have dot11mode restrictions such as no
11be mode support, in which case the regdb updates the
phymode and sends to Host.
Add support to use this value to limit and update the
internal dot11mode to allow connection in corresponding
phymode.

Change-Id: If7dd8c261fbe61e96c7749dd1457713502409fa6
CRs-Fixed: 3747811
2024-04-11 22:21:33 -07:00
Ravindra Konda
06f51122cd Release 5.2.1.89E
Release 5.2.1.89E

Change-Id: I852e09c66d8d1d31f475f16797edea913b0e6ed7
CRs-Fixed: 774533
2024-04-11 03:11:49 -07:00
Asutosh Mohapatra
3d820ee297 qcacld-3.0: Fix NULL pointer dereference issue
In cm_is_peer_preset_on_other_sta, wma_context is
fetched from gp_cds_context and used without any
validation checks. This may lead in NULL pointer
dereference.

To address this issue add null check before
accessing.

Change-Id: I78656303855efb2369afcf47d1aabe3b916498c4
CRs-Fixed: 3712317
2024-04-11 03:11:49 -07:00
Ravindra Konda
0545a12a42 Release 5.2.1.89D
Release 5.2.1.89D

Change-Id: Ib30ed4e7a6bfb827afb8c16f3580ccc6fc69bbd9
CRs-Fixed: 774533
2024-04-11 01:19:22 -07:00
Yu Tian
8f7cd16ea9 qcacld-3.0: Add debug log to show vdev states
Add debug log to show vdev status during vdev deleting

Change-Id: I17ae2504e482177c30c4bee212048f97dd5bbaa5
CRs-Fixed: 3762585
2024-04-11 01:19:22 -07:00
Vinod Kumar Pirla
178527a019 qcacld-3.0: Disable 11be if downgraded via the vendor command
To configure vendor requested phy_mode on all interfaces,
iterate all STA adapters which are in disconnect state to
configure the new VDEV phy_mode.

Change-Id: Ibd9d8959609c1ab07caa26cb8c9227c56e8fd234
CRs-Fixed: 3671847
2024-04-11 01:19:14 -07:00
Surya Prakash Sivaraj
0530c3b2a3 qcacld-3.0: Update proper channel width during roam
Currently, the driver doesn't consider the force 20 MHz in
2.4 GHz configuration while calculating the channel width
for the session during roam. Therefore, fw and host will be
out-of-sync wrt the channel width of the connection.

Consider the force override 20 MHz in 2.4 GHz config which is
based on the ht40 cap of connect request for the channel width
computation.

Change-Id: Id616dd1ceefd5b2c2130be1b88067a92121e0fa1
CRs-Fixed: 3768406
2024-04-11 01:19:05 -07:00
Ravindra Konda
ac043815d9 Release 5.2.1.89C
Release 5.2.1.89C

Change-Id: I41614fccb7f9aa56e88f58ee0eba7d865ced9271
CRs-Fixed: 774533
2024-04-08 09:11:07 -07:00
Rakesh Pillai
7ae89179e1 qcacld-3.0: Replace is_dp_link_valid with dp_link null check
As a part of vdev destroy is_dp_link_valid can return failure,
since the interface maybe down. This will lead to memory leak
since the dp_link memory won't be freed.

Fix this by replacing is_dp_link_valid with dp_link null check.

Change-Id: Ief03c1e42d62b4b89f1414f0c5642e592ee39fa2
CRs-Fixed: 3750214
2024-04-08 09:11:06 -07:00
Rakesh Pillai
52cc76d329 qcacld-3.0: Add magic number in wlan_dp_link
Add magic number field in wlan_dp_link which is to
be used to identify the validity of dp_link.

Add logs in the dp_link free handler/callback.

Change-Id: I76e3149e1d72a9f5e69478734b6dbab5b4d8d922
CRs-Fixed: 3744331
2024-04-08 09:10:55 -07:00
Ravindra Konda
ba56b46e65 Release 5.2.1.89B
Release 5.2.1.89B

Change-Id: I784b143b56e64b3b8fda5ed1096861868d94bd21
CRs-Fixed: 774533
2024-04-08 05:16:16 -07:00
Srinivas Dasari
6aa9cdf391 qcacld-3.0: Don't check for association status to flush mc list
Kernel configures mc address list once association/NDP connection
happens. Host driver flushes the existing list whenever a new list
is received from kernel. Also, it's expected to cleanup the final
list as part of disconnection/NDI cleanup.
Currently, host expects the vdev/NDI state to be ASSOCIATED
in-order to flush the final configured list. But the STA vdev/NDI
state is already moved to DISCONNECTED by the time host tries to
flush the list from firmware. So, host doesn't send flush command
to firmware and it just flushes internal list from driver adapter.

This results in leaving the final configured entries uncleaned
in firmware and the mc list exhausts in few such iterations as the
firmware supports limited size(32).

Don't check for vdev/NDI state and always issue flush command to
firmware as part of disconnect to avoid this.

Change-Id: I8e070f40976a147959783b3c44f1e9aa24563d4b
CRs-Fixed: 3776542
2024-04-08 05:16:15 -07:00
Ravindra Konda
181522c877 Release 5.2.1.89A
Release 5.2.1.89A

Change-Id: Ic3a0b3efe1b080749a03eefb8f4f1f10504b3375
CRs-Fixed: 774533
2024-04-07 06:51:29 -07:00
Pragaspathi Thilagaraj
fbda9a4e96 qcacld-3.0: Reject TDLS when ML STA links are on MCC
When ML STA links are on MCC, TDLS action frames try to
set the link mode to force active. To avoid this
reject the TDLS mgmt request when ML STA links are on MCC.

Also enhance few debug prints for TDLS.

CRs-Fixed: 3717831
Change-Id: I69a942d80f5fac0ff25cfb47229e5dde6a693f97
2024-04-07 06:51:28 -07:00
Pragaspathi Thilagaraj
6da9ecbb19 qcacld-3.0: Update data path default link after roaming
When roaming happens from 3 Link AP to Legacy or 1 link AP after
a link switch, and the assoc vdev when connected to 3 Link AP is
disconnected during roaming, it causes the DP default link mapping
not to be updated. This resutls in data stall and ultimately
NUD failure is triggered resulting in disconnection.

After roaming to Multilink AP, then update the DP with
the new deflink as the assoc vdev.

CRs-Fixed: 3681911
Change-Id: I114a9858c3cbe58ef59743ad251a2b3af2543d3d
2024-04-07 06:51:19 -07:00
Ravindra Konda
5f2b5beef9 Release 5.2.1.89
Release 5.2.1.89

Change-Id: I9a9c61c8436d6b3c875fb916d992b6490350acc4
CRs-Fixed: 774533
2024-04-05 08:08:45 -07:00
Vijay Raj
0ebb4a5afa qcacld-3.0: Extract VSIE before logging MGMT frames
In the api wlan_connectivity_mgmt_event(), the VSIE is
extracted after logging the Deauth/Disassoc frames
due to which VSIE is not logged as part of
Deauth/Disassoc frame logging.

Modify the api wlan_connectivity_mgmt_event() to extract
VSIE before logging the Deauth/Disassoc frames

Change-Id: Ia5ac504f6e17d0464a6ce0d442ae7eec658b2445
CRs-Fixed: 3761695
2024-04-05 08:08:44 -07:00
Surya Prakash Sivaraj
b28724a744 qcacld-3.0: Add bound check for vdev id in bs req
The vdev id in bs_req cannot exceed the WLAN_UMAC_PSOC_MAX_VDEVS
count.

Add the sanity check before accessing the ref_count array.

Change-Id: I31743b4be75944bb8947eac7537172d56614637d
CRs-Fixed: 3759720
2024-04-05 08:08:38 -07:00
Ravindra Konda
bcc2df4ea0 Release 5.2.1.88Z
Release 5.2.1.88Z

Change-Id: I190e8ab8aaf354c89a28f328f24dedb3ed7b121e
CRs-Fixed: 774533
2024-04-04 10:20:31 -07:00
Asutosh Mohapatra
3b97db9156 qcacld-3.0: Handle station stats request while ll stats in progress
Currently host can get station stats request while ll stats is in
progress and station stats request gets timeout for below sequence,
	1) Host receives LL stats request and sends unified stats
	   command to fw.
	2) FW has sent all the station stats events and in process
	   of sending ll stats, host gets station stats command
	   and sends the station stats command to fw.
	3) After receiving all ll stats host resets pending stations
	   stats.
	4) As request is already reset, host doesn't find any pending
	   request while processing the last stats event hence request
	   gets timeout.

To address this issue send cached stations stats if unified ll stats
is in progress.

Change-Id: I153ca4657c0736b4a174b247c82eb38527b9dae9
CRs-Fixed: 3753712
2024-04-04 10:20:30 -07:00
Ravindra Konda
b121f23ea0 Release 5.2.1.88Y
Release 5.2.1.88Y

Change-Id: I28c2582c5f872076785c74259e8bf88c7b8dc8df
CRs-Fixed: 774533
2024-04-04 02:50:08 -07:00
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
Surya Prakash Sivaraj
44e92cc76a qcacld-3.0: Use only partner links with valid scan entry
If the scan entries for a non-tx profile MBSSID partner links
are not present at the time of candidate selection, then
host driver generates the scan entry for the missing partner
link from the assoc response.

The assoc response from the AP has PMKID in the RSN(some APs
do not include RSN IE in assoc resp).In this case, the RSN
along with PMKID gets inherited into the scan cache of the
missing partner and this leads to mismatch between M3 and
scan entry RSN causing disconnection.

To fix this, mark all the MBSSID partners without scan entries
as invalid links at the time of candidate shortlisting. Score
and connect to only non-tx candidates with valid scan entries.

Remove the probe response generation from assoc response logic.

Change-Id: I3b90ca1f1d81f2de7cc629576714c72975b11ae9
CRs-Fixed: 3738606
2024-03-28 23:04:34 -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
Abhinav Kumar
662da8cef5 qcacld-3.0: Remove dependency of gEnable2x2 with HtSMPS
As per FW, value of gEnable2x2 and gEnableHtSMPS are
independent.

Remove dependency of INI "gEnable2x2: used to enables/
disables VHT Tx/Rx MCS values for 2x2" and INI
"gEnableHtSMPS : used to enable SM Power Save".

Initialize ht_cap_info.mimo_power_save bit as per INI
"gHtSMPS: used to set default SM Power Save Antenna mode"

Update SMPS HT cap as per FW capability
WMI_HT_CAP_DYNAMIC_SMPS and ini gHtSMPS.

Change-Id: I79ad8f060adb550c738c58259fa65f073ad9b42d
CRs-Fixed: 3771123
2024-03-26 23:53:36 -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