Grafico dei commit

30742 Commit

Autore SHA1 Messaggio Data
Jianmin Zhu
6cf7f7aaec qcacld-3.0: Fix race condition when fill mlo_ie in beacon template
When scheduler thread copy mlo_ie from pe_session to beacon template,
hostapd update EDCA params based on STA/SAP concurrency, zero and update
mlo_ie in pe_session for beacon template too, OOB happens for race
condition issue.

To fix it, serialize beacon template update to schedule thread.
Add length check to avoid OOB.

Change-Id: I756ea99e1f6c7280fb68acb8e0982b415dcb7ab6
CRs-Fixed: 3694478
2024-01-03 00:25:46 -08:00
Yu Wang
be9a0ab941 qcacld-3.0: disable symbol export if multi-chip is supported
Symbol export should be disabled if multiple chipsets
is supported, to avoid possible 'exports duplicate
symbol' issue which will result in wlan driver loading
failure during bootup.

Change-Id: Ia79e811ae813a7ab39aea597b3d01aba0762c144
CRs-Fixed: 3693883
2024-01-03 00:25:39 -08:00
Asutosh Mohapatra
3ba7cdeb68 qcacld-3.0: Add ini to disable mcs 12 13 for 2.4 GHz 40 MHz SAP
Add ini to disable mcs 12 13 for SAP operating in
2.4 GHz with 40 MHz bandwidth.

Change-Id: I78ed90bf6bab80a8f81f7a0640b9aca9d2736f4d
CRs-Fixed: 3672437
2024-01-03 00:25:32 -08:00
Liangwei Dong
bcabff0e72 qcacld-3.0: Fix num_tx_chains_11a not updated for a/b/g mode
At present, num_tx_chains_11a value is updated from the last
setting of num_tx_chains_11a in dynamic_cfg. If last setting
num_tx_chains_11a is 1, new num_tx_chains[NSS_CHAINS_BAND_5GHZ]
changed to 2 by vendor command, it will not be updated to 2.
Fix by update them based on new num_tx_chains[NSS_CHAINS_BAND_5GHZ]
value and ini config.

Change-Id: Id25e8f8d0427b77c2191dfc352b5827be543a191
CRs-Fixed: 3683946
2024-01-03 00:25:26 -08:00
Ravindra Konda
6b87d33890 Release 5.2.1.85J
Release 5.2.1.85J

Change-Id: I78cd6fe4bc734aefab40642e9464691191913ee6
CRs-Fixed: 774533
2024-01-02 04:18:59 -08:00
Aasir Rasheed
66638cf217 qcacld-3.0: Update crypto cipher types
Addressing an issue where the host driver receives a raom
sync key event with cipher type 15 and length 32 from the
firmware. Currently, Host lacks an updated cipher type and
defaults to value 0, corresponding to WEP key, with a maximum
length of 16. This invalid conversion result in firmware
crashing during the install key command.

This change is to add crypto cipher type corresponding
to fw implementation.

CRs-Fixed: 3680670
Change-Id: I2bc5b486fd9df79334191c84bc57151ed7efdfcf
2024-01-02 04:18:59 -08:00
Pragaspathi Thilagaraj
0c0e67e9bb qcacld-3.0: Enable TDLS on both MLO links upon conc sta disconnect
When ML STA + Legacy STA concurrency is present, TDLS is disabled
on all the vdevs. If legacy STA gets disconnected, the TDLS
enable is done on only one MLO vdev, and on MLO link vdev TDLS
state is disabled. But TDLS peer set param commands are going
to firmware. This results in firmware abnormal behavior.

Enable TDLS on assoc & link vdev for ML STA case when concurrent
STA disconnects.

CRs-Fixed: 3685766
Change-Id: I36b839dd610e85d38081a985ceb68d8fad8879c5
2024-01-02 04:18:52 -08:00
Ravindra Konda
1ba3ce70e5 Release 5.2.1.85I
Release 5.2.1.85I

Change-Id: I5a7ac55c327225a42600e904c4d066575cc5a2e8
CRs-Fixed: 774533
2024-01-02 01:33:39 -08:00
Vinod Kumar Pirla
8f0311f304 qcacld-3.0: Copy partner info to MLO sta context on roam
Link switch uses cached partner links info in mlo_sta_ctx,
currently during roaming as partner links info is not filled
then link switch fails during connect.

Copy partner links info to sta context in mlo dev ctx on
roaming.

Change-Id: Ie513173f0ccdc39f46be5cf4af11021abe5950aa
CRs-Fixed: 3695386
2024-01-02 01:33:38 -08:00
Ravindra Konda
2fd3efad7b Release 5.2.1.85H
Release 5.2.1.85H

Change-Id: Ie62f1bc4a2e96f7cdb65f3cf068dbe47a12515ac
CRs-Fixed: 774533
2023-12-29 07:02:46 -08:00
Vijay Raj
24da60d78f qcacld-3.0: Avoid repeated BTM connectivity log in full scan case
In the api cm_roam_btm_req_event(), BTM request and
BTM Candidate Connectivity logs are printed for both
partial and full scan when disassoc_imminent is set for BTM
roam trigger. But actually, over the air frame was received
only once on the device.

So to avoid BTM frame logs duplication,
ignore the BTM request frame TLV & btm candidate TLV received from
firmware after BTM roam trigger with disassoc imminent set.

Change-Id: I7d8cf4a4f0c7e2ee7958ae3fc309f14890c2fd33
CRs-Fixed: 3675909
2023-12-29 07:02:46 -08:00
Vijay Raj
3bf9181471 qcacld-3.0: Modify Connecting event to log for No candidate scenario
"CONNECTING" connectivity event is not logged during
NO CANDIDATE scenario which resulting in breaking of
connectivity logging mechanism.

Modify wlan_connectivity_connecting_event() api
to get connect request parameter as argument in
order to log CONNECTING event.

Change-Id: I040446db189c55ade3c6d0aa993388789f9881af
CRs-Fixed: 3678172
2023-12-29 07:02:39 -08:00
Vijay Raj
5e6d32dccc qcacld-3.0: Modify MLO LINK status log to include supported link
For MLO LINK connectivity log, the links not associated
during connection are also included as part of
inactive links which breaks the sanity of logging
mechanism.

Modify MLO LINK connectivity event to send the
associated link band bitmap in order facilitate
userspace to find links associated in current
connection and in turn find the inactive links
in a particular instance.

Change-Id: I7a490e9bf8a6666620d1c57b9f8047a22bf78fc5
CRs-Fixed: 3674048
2023-12-29 07:02:33 -08:00
Ravindra Konda
36a11825a9 Release 5.2.1.85G
Release 5.2.1.85G

Change-Id: Id39c3593f6c3fa885a42f5faff57c7cdb673a260
CRs-Fixed: 774533
2023-12-29 04:00:19 -08:00
Jianmin Zhu
336cae1135 qcacld-3.0: Don't config high RSSI trigger if self MLD roam supported
After roaming to 2+5 MLO AP, MLD high RSSI roaming trigger is
getting disabled if assoc link is on 5 GHz.

To fix it, if self MLD roaming is supported, then don't enable
high rssi roaming trigger for 2.4 GHz link and disable it for 5
GHz link after roaming is competed.

Change-Id: I4c02cb2c946d97884fbc0d6cc513c585c21b9548
CRs-Fixed: 3670241
2023-12-29 04:00:19 -08:00
Jianmin Zhu
c1bcfdb534 qcacld-3.0: Stop periodical pdev stats report when stop monitor mode
Send periodic fw stats to get chan noise floor when monitor mode
start, but not stop it when  monitor mode stop,
pdev stats event is received even when event handler unregistered,
race condition lead to assert.

To fix it, when monitor mode stop, stop periodical pdev stats report
first.

Change-Id: I58a0ced84aca74a7228064067bb096803cf952fd
CRs-Fixed: 3667212
2023-12-29 04:00:12 -08:00
Jianmin Zhu
8ba5d61b6e qcacld-3.0: Fix not able to use ipv6 when connect mlo AP
Host filled link address in the NS tuple, DUT sent NA frame with link mac
addr, not MLD addr.

To fix it, let host fill MLD address in the NS tuple for MLO vdev.

Change-Id: I863dc6184c59ee06950e4aa2287d4d4a6ff30b5c
CRs-Fixed: 3693220
2023-12-29 04:00:04 -08:00
Ravindra Konda
71234f52d9 Release 5.2.1.85F
Release 5.2.1.85F

Change-Id: I21e12a68d7656a899f1b10a31ed6f096e7b51d8a
CRs-Fixed: 774533
2023-12-29 01:36:29 -08:00
Vinod Kumar Myadam
7fa23042dc qcacld-3.0: Fix OOB access in iface combination loop
While iface combination dump looping based on max interfaces
defined but some iface array have index of max - 1, which
will lead Out-of-bound access of 2 bytes.

For example, wlan_hdd_sta_iface_limit supports max 2 interfaces,
but defined only one array of index.

Check with size of the array, So, only available index will access.

Change-Id: I9ab02557ea7b4290d56ef359a3d9072fd9b1e53d
CRs-Fixed: 3668965
2023-12-29 01:36:28 -08:00
Ravindra Konda
69bc96d589 Release 5.2.1.85E
Release 5.2.1.85E

Change-Id: I043cf6668522fc7912c25d6f4e5223d2566e5112
CRs-Fixed: 774533
2023-12-28 13:00:45 -08:00
Will Huang
d48e5d4417 qcacld-3.0: Allow local power constraint to be zero
Currently when calculate TPC command, assume local power constraint
is non-zero, but constraint is possible to be zero like AP can restore
local power constraint to zero after change to a non-zero value.

Add a local flag to check whether STA need follow AP's local power
constraint and calculate/update TPC command accordingly. In case if
AP configure invalid absolute constraint power to 0, add check and
don't follow this wrong configure.

Function lim_extract_ap_capability() may not update
localPowerConstraint if both power constraint IE and ESE TX power IE
not present, to avoid access uninitialized localPowerConstraint,
initialize it to zero and we have check when use it in
lim_calculate_tpc().

Change-Id: Ib4600574aefee7f4bcff84c06891dcc15f5d265a
CRs-Fixed: 3676758
2023-12-28 13:00:45 -08:00
Jianmin Zhu
f7fc5bc815 qcacld-3.0: Check whether p2p device dynamic mac update supported
If F/W doesn't support p2p device dynamic mac update, after dynamic mac
update, p2p tx will fail.

Check whether p2p device dynamic mac update supported by target, if not
supported, reject p2p device dynamic mac update request from upper layer.

Fix warning of uninitialized status.

Change-Id: I845bd9683f2b68c3ed28292917601fdefed13f72
CRs-Fixed: 3680411
2023-12-28 13:00:38 -08:00
Arun Kumar Khandavalli
12bd9f4c4b qcacld-3.0: Set Powersave config to firmware after link switch
Currently after link switch powersave conifig is not sent to firmware
resulting in STA not entering BMPS.

Set the powersave config to firmware after link switch

Change-Id: I60864b03144900edac2861348375280507b9e25c
CRs-Fixed: 3680566
2023-12-28 13:00:32 -08:00
Ravindra Konda
4227bea07b Release 5.2.1.85D
Release 5.2.1.85D

Change-Id: I1ef252613b50dba44de3a6242c47994e3ab8c7e2
CRs-Fixed: 774533
2023-12-27 09:35:30 -08:00
Vijay Raj
8a10d00029 qcacld-3.0: Modify band_mask in cm_roam_scan_info_event
In api cm_roam_scan_info_event(), band_mask is updated
for ROAM_STATS_SCAN_TYPE_HIGHER_BAND_6GHZ and
ROAM_STATS_SCAN_TYPE_HIGHER_BAND_5GHZ_6GHZ. But
the band mask is truncated for ROAM_STATS_SCAN_TYPE_FULL.

add check in api cm_roam_scan_info_event() to update
band mask only for scan type
ROAM_STATS_SCAN_TYPE_HIGHER_BAND_6GHZ and
ROAM_STATS_SCAN_TYPE_HIGHER_BAND_5GHZ_6GHZ in order
to prevent the band mask from truncating for
ROAM_STATS_SCAN_TYPE_FULL.

Change-Id: I3e85c87e3e304d0c4d4ae311c7be1939e73d05df
CRs-Fixed: 3666578
2023-12-27 09:35:29 -08:00
Ravindra Konda
411a277df9 Release 5.2.1.85C
Release 5.2.1.85C

Change-Id: Ib5c8a5e02990c941f2b2650ff0bc19ad45922e4b
CRs-Fixed: 774533
2023-12-27 07:30:20 -08:00
Vijay Raj
f2419e60c1 qcacld-3.0: Add support to disable MLMR mode in ULL mode
Add ini support to forcefully disable MLMR mode in Ultra low
latency mode.

Change-Id: If524e5d2a2b3bc88fe9a3f096e24a8023bc4366f
CRs-Fixed: 3689784
2023-12-27 07:30:20 -08:00
Ravindra Konda
ab1f8eab36 Release 5.2.1.85B
Release 5.2.1.85B

Change-Id: Ie22612cbda90f272e0555099d3e48049700098c8
CRs-Fixed: 774533
2023-12-27 02:39:04 -08:00
Will Huang
80d0e97f13 qcacld-3.0: Add one to vdev max allowed create peer count
In some roaming scenario, the old bss peer was not destroyed before
new bss peer create, so new bss peer fail to attach to vdev because
max allowed create peer for STA vdev is 2 (self peer + bss peer + no
TDLS peer on TDLS disabled platform).

Add one more peer count to vdev max peer count for STA.
It has no impact to memory requirement.

Change-Id: I474b0b9493c385123351b1cdcdfab8e584803dca
CRs-Fixed: 3646841
2023-12-27 02:39:04 -08:00
Ravindra Konda
40ff2f84ac Release 5.2.1.85A
Release 5.2.1.85A

Change-Id: I0ee0b175ecd8f20397fccac5d37b654e49b12c52
CRs-Fixed: 774533
2023-12-26 22:10:10 -08:00
Liangwei Dong
96897150ce qcacld-3.0: Fix SAP ch_switch_in_progress flag missing during CSA
After CSA to 5180 (unsafe), the sap_fsm_validate_and_change_channel
will call wlansap_set_channel_change_with_csa API to do a new CSA
to safe channel. But wlansap_set_channel_change_with_csa will not
set ch_switch_in_progress flag. Instead, we should use parent API
hdd_softap_set_channel_change to trigger CSA, which will set
ch_switch_in_progress flag. The existing code will do
unsafe check after CSA done in hdd_hostapd_check_channel_post_csa,
so combine the sap_fsm_validate_and_change_channel work into it.
The ch_switch_in_progress missing during CSA will cause another CSA
request being executed while the first CSA is still in-progress. This
is not supported.

Change-Id: I17c9181a32ffc4f35f647db1f957a05b00306bee
CRs-Fixed: 3683289
2023-12-26 22:10:09 -08:00
Pragaspathi Thilagaraj
fd744a4b58 qcacld-3.0: Stop TDLS peer timers upon STA disconnection
TDLS peer_update_timer and peer discovery timers are not stopped
upon sta disconnect.
So while the handler is invoked upon timer expiry, the
vdev could have been already deleted. This could result in
null pointer dereference of vdev while trying to get
TDLS vdev objects.

Since the timer is not required upon sta disconnection and
peer will already be deleted, stop the timer upon STA
disconnection itself, instead of doing it during vdev
destroy.

Change-Id: I3c405b3e7b57d25a7d1afbf6c93476271a29a6b8
CRs-Fixed: 3673078
2023-12-26 22:10:03 -08:00
Sheenam Monga
4bce8122a0 qcacld-3.0: Don't set link_agnostic to true if dest addr is not AP addr
Currently, mlo_link_agnostic is set to true without validating
destination address which means FW is free to choose
transmission link L0 or L1 due to which GAS frame TX is failing.

Fix is to set mlo_link_agnostic to false when dest address is not
AP address, so that FW can choose freq as per channel which is
sent as part of mgmt frame.

Change-Id: Icacc4ce06b0eda341342ac1cdcf347de74e59e39
CRs-Fixed: 3666152
(cherry picked from commit d3cbd7154a31479cb79230643a0a8818b41d2a67)
2023-12-26 22:09:56 -08:00
Ravindra Konda
d1dc8184d8 Release 5.2.1.85
Release 5.2.1.85

Change-Id: If72df3ddaf9c7b0957ecb3af1d37d9e993236f2a
CRs-Fixed: 774533
2023-12-25 16:57:18 -08:00
Liangwei Dong
7a843bc437 qcacld-3.0: Add vendor command support for query TPC information
Add support for QCA_NL80211_VENDOR_SUBCMD_REGULATORY_TPC_INFO vendor
command to return the STA TPC information used within the BSS.
If STA is ML STA, multiple link TPC information will be returned to
userspace.

Change-Id: I6fd30893c057c876e9a01e112595e5cb0c906a70
CRs-Fixed: 3665538
2023-12-25 16:57:18 -08:00
Ravindra Konda
eb9643bb8f Release 5.2.1.84Z
Release 5.2.1.84Z

Change-Id: I57184d7eefca8de3d5637f45dc73866188343652
CRs-Fixed: 774533
2023-12-22 15:38:47 -08:00
Srinivas Dasari
968eda09bc qcacld-3.0: Drop BTM frames from MBO AP without PMF support
Currently, host disables btm_offload feature if the connected AP
supports MBO/OCE but not PMF. Firmware doesn't process the btm
requests received from AP in such cases and forwards the same
to host. Host forwards them to userspace. But userspace may not
expect these frames as roaming is offloaded to firmware.

Drop the BTM request frames in driver for LFR3 cases when the
connected AP supports MBO without PMF.

Change-Id: I35800ff31f8a48d12eb57cdd36856fdef2b53b8e
CRs-Fixed: 3687371
2023-12-22 15:38:47 -08:00
Ravindra Konda
dbf1a70553 Release 5.2.1.84Y
Release 5.2.1.84Y

Change-Id: Idb5b858ab70c28edecc37270b0372b854daf5823
CRs-Fixed: 774533
2023-12-21 04:34:34 -08:00
Vinod Kumar Pirla
0b6df7dbe9 qcacld-3.0: Restrict three link connection on certain vendor APs
Identify APs which don't support three links and downgrade the
max connection links to two so that connecting to such APs will
not lead to unexpected behavior.

Change-Id: I25d2c0fd09e29b6f0cc2d228e52733bcbceb39fd
CRs-Fixed: 3636112
2023-12-21 04:34:33 -08:00
Ravindra Konda
2e6d28ea61 Release 5.2.1.84X
Release 5.2.1.84X

Change-Id: Icc7fb04523638c1e1d7e55fe2209a1e6b267c84a
CRs-Fixed: 774533
2023-12-21 02:22:14 -08:00
Asutosh Mohapatra
10f61fa73b qcacld-3.0: Handle ho failure for STA + STA roaming
Currently for STA + STA case, consider the below scenario:
1. Roam start received on vdev 2 & vdev 0. Vdev 2 roam
   serialization command becomes active and vdev 0 roam
   command is on the pending queue.
2. HO failure with AP0 received on vdev 2. This dequeues
   the vdev2 roam serialization command. Vdev0 roam command
   becomes active.
3. Roam synch indication received on vdev0 with peer AP as
   AP0 (which is the peer on vdev 2). So duplicate detection
   logic prevents same peer creation, so roam synch fails but
   its not indicated properly to firmware. This leads to
   disconnection of both the STAs.

To address the issue, first enqueue disconnect with high
priority set before removing roam command from serialization
so disconnect gets activated if roam was active for the
vdev.
Also while processing roam synch indication, check if peer is
found on different STA and send roam stop to fw so fw also
cleans up and initiates HO failure.

Change-Id: Iddeddcde782b936dc2ea4b8f32fd0be3c0ced591
CRs-Fixed: 3686114
2023-12-21 02:22:12 -08:00
Ravindra Konda
a41b301dff Release 5.2.1.84W
Release 5.2.1.84W

Change-Id: Iac0e958a3e034544e59d9eaab2b2ba4ddbd2e94c
CRs-Fixed: 774533
2023-12-20 16:35:16 -08:00
Liangwei Dong
1ed9249cd9 qcacld-3.0: Add SAP interface number check
In LA by default, the max supported SAP interface number -
QDF_MAX_NO_OF_SAP_MODE is 2. In third party framework or using
command line to add SAP interface, the active number of SAP
interface may exceed the number of QDF_MAX_NO_OF_SAP_MODE.
To avoid running into unexpected scenario, add check the active
SAP interface number with configuration of macro QDF_MAX_NO_OF_SAP_MODE
when adding virtual interface.
And in MDM we support 4 SAP, so make the QDF_MAX_NO_OF_SAP_MODE
configurable by Kbuild.

Change-Id: I7b64ae8f580d2b11ab5bd46c9346567f4ceabc39
CRs-Fixed: 3673518
2023-12-20 16:35:16 -08:00
Ravindra Konda
aa358850c5 Release 5.2.1.84V
Release 5.2.1.84V

Change-Id: I2d6d838dfc95f9ab5bcddb90eacafac25d3042f4
CRs-Fixed: 774533
2023-12-20 14:34:56 -08:00
Chunquan Luo
d536a65027 qcacld-3.0: Update assoc channel width after CSA
Station connect and csa to less channel width, if we continue
set channel width back to initial connection which is greater
than csa channel width, center freq1 get failed.

Update association channel width and check the value while
set new channel width.

CRs-Fixed: 3683738
Change-Id: I396528abda663d2a77cfc9598ddb89b36c4600ba
2023-12-20 14:34:56 -08:00
Ravindra Konda
dde35ce3be Release 5.2.1.84U
Release 5.2.1.84U

Change-Id: I69666088e5462ff69e7e77d372d2fa695d405691
CRs-Fixed: 774533
2023-12-19 00:21:07 -08:00
Srinivas Dasari
45783fe883 qcacld-3.0: Don't send RSO_STOP if it's already sent
Currently, RSO_STOP is sent to firmware if ROAM_SYNC is aborted
due to some reason. Host doesn't check for the current state of
RSO state machine and may send the RSO_STOP twice. Firmware
responds with SUCCESS for the second request and driver
continue to cleanup peer/vdev assuming that it's a normal
RSO_STOP response. This results inconsistency in firmware
as it might be in the middle of peer/vdev cleanup and
leads to ASSERTION.
Check for the RSO state machine status and avoid sending
RSO_STOP twice.

Change-Id: I87cdb4a682095772070a839bbb86e56a9450b299
CRs-Fixed: 3677172
2023-12-19 00:21:07 -08:00
Ravindra Konda
3579e0f124 Release 5.2.1.84T
Release 5.2.1.84T

Change-Id: I1a945824ff5fdce08dd6b5dd28066587ff25e267
CRs-Fixed: 774533
2023-12-14 09:10:18 -08:00
Asutosh Mohapatra
a901bcc17e qcacld-3.0: Send additional interface combinations to fw
As part of set feature set command, update STA_P2P,
STA_SAP, STA_NAN, STA_TDLS, STA_SAP_P2P, STA_SAP_NAN,
STA_P2P_NAN, STA_P2P_TDLS, STA_SAP_TDLS, STA_NAN_TDLS,
STA_SAP_P2P_TDLS, STA_SAP_NAN_TDLS, STA_P2P_P2P_TDLS,
STA_P2P_NAN_TDLS iface combinations to fw.

Also use WLAN_FEATURE_NO_P2P_CONCURRENCY sta dual p2p
support combination.

Change-Id: I315c219f79995dedb0c2856d326838351d8a3d5e
CRs-Fixed: 3674696
2023-12-14 09:10:17 -08:00
Ravindra Konda
c826d492e5 Release 5.2.1.84S
Release 5.2.1.84S

Change-Id: Ia2fe63c8f73d8f98c38f17d722fc1f5d6f366f61
CRs-Fixed: 774533
2023-12-11 00:04:10 -08:00