Commit Graph

31238 Commits

Author SHA1 Message Date
Ravindra Konda
0654395145 Release 5.2.1.93B
Release 5.2.1.93B

Change-Id: I7026e7a83503e53a301b55ae05961784e229ed17
CRs-Fixed: 774533
2024-08-22 11:53:09 -07:00
Surya Prakash Sivaraj
8c71bb28e3 qcacld-3.0: Do not create empty RSNXE
Driver re-generates the RSNXE with length 1, if the peer AP
supports only 1 octet of RSNXE. During this IE creation,
driver creates an empty RSNXE if none of the caps are set
by userspace in the first octet.

To fix this, do not re-generate the RSNXE if none of the caps
are set in first octet.

Change-Id: I6ca855cd907e49af62d9afe804b9f73eea97332e
CRs-Fixed: 3901178
2024-08-22 11:53:08 -07:00
Ravindra Konda
91421805a0 Release 5.2.1.93A
Release 5.2.1.93A

Change-Id: Ie83ae4d7fe0fbb4b3c1487dbd1dbe7d562642c2c
CRs-Fixed: 774533
2024-08-22 06:33:52 -07:00
Surya Prakash Sivaraj
06a3bacbe1 qcacld-3.0: Validate pe session before access
In lim_send_probe_req_mgmt_frame(), validate the pe session
before accessing it.

Change-Id: I96ebfc62c04e2e7323017732b6208da83919346c
CRs-Fixed: 3880869
2024-08-22 06:33:51 -07:00
Ravindra Konda
ea45fd6da7 Release 5.2.1.93
Release 5.2.1.93

Change-Id: Ie931858b3af7266c0101a70c4f3d8e305fa97edb
CRs-Fixed: 774533
2024-08-20 05:32:46 -07:00
Ananya Gupta
b74a18ea3f qcacld-3.0: Do not take wakelock if ip multicast packet
Currently, wakelock is taken for all unicast packets.
Do not take wakelock if packet is IP multicast packet.

Change-Id: If197cbb58d1414adedb1d29f9c2bd67be83e95b4
CRs-Fixed: 3807621
2024-08-20 05:32:45 -07:00
Ananya Gupta
50422eee58 qcacld-3.0: Do not take wakelock for non-local ARP request
Currently, wakelock is being taken for all unicast packets.
Do not take wake lock if it is a ARP packet but not local to
host.

Change-Id: Iff5de2b83a4b12692b2f3b82d58e0fc400326529
CRs-Fixed: 3838502
2024-08-20 05:32:40 -07:00
Ravindra Konda
d5a360d359 Release 5.2.1.92Z
Release 5.2.1.92Z

Change-Id: I438828138c396c705d77271503edd56d664391e8
CRs-Fixed: 774533
2024-08-20 03:30:58 -07:00
Ananya Gupta
6b022c4d0e qcacld-3.0: Do not take wake lock for non local ARP packet
Do not take wake lock if the packet is unicast and a non local
ARP packet.

Change-Id: I7e76f5ddde41c026355c4f7fe938f20ea819c0f6
CRs-Fixed: 3831823
2024-08-20 03:30:57 -07:00
Ravindra Konda
c592ec0eb7 Release 5.2.1.92Y
Release 5.2.1.92Y

Change-Id: Icdfefab124bcb4320ff2dc029f9479950ae60adb
CRs-Fixed: 774533
2024-08-19 21:06:39 -07:00
Jianmin Zhu
119765c7b9 qcacld-3.0: Use full SAE auth when connect specified AP
When MLO STA connects to a specified buggy MLO AP with PMKID in assoc
req, it consistently fails and then retries with a downgraded SLO
candidate, which eventually succeeds. However, the customer expects MLMR
connection.

To address this, when select this buggy AP, we avoid generating
downgraded SLO/11AX candidates, use full SAE auth instead of existed
PMKSA, and don't add PMKID in RSNIE of assoc req when connect.

If the MLMR assoc fails, assoc rejection is sent to upper layer,
not retry with SLO/11AX candidates. Instead, wpa_supplicant/aosp will
clear the PMKSA upon receiving an association rejection, and subsequent
retries will use full SAE authentication, resulting in a successful MLMR
connection.

Change-Id: I85f39f52e4dae8393bbf559969710f35447b8c0c
CRs-Fixed: 3888073
2024-08-19 21:06:38 -07:00
Ravindra Konda
13d3a2057a Release 5.2.1.92X
Release 5.2.1.92X

Change-Id: I0e2dc8107fa0fbc10b56134035c90d88df214c83
CRs-Fixed: 774533
2024-08-19 14:56:04 -07:00
Asutosh Mohapatra
3eeeb7714c qcacld-3.0: Enable relevant ICNSS configs for parrot66 Adrastea
Currently CONFIG_PLD_SNOC_ICNSS_FLAG and CONFIG_ICNSS2_HELIUM
configs are not enabled in Bazel GKI config file of Adrastea for
parrot66 target. As a result host is not calling relevant PLD
API for driver registration during load. As a result seeing
Adrastea driver loaded for Moselle device.

To address this issue, enable CONFIG_PLD_SNOC_ICNSS_FLAG and
CONFIG_ICNSS2_HELIUM configs.

Change-Id: I7419eb1f6339e134a85729f25301913adf02e484
CRs-Fixed: 3898745
2024-08-19 14:56:03 -07:00
Ravindra Konda
873cc94397 Release 5.2.1.92W
Release 5.2.1.92W

Change-Id: If137695954351074bec3d3244a032c4296871057
CRs-Fixed: 774533
2024-08-16 01:17:29 -07:00
Jyoti Kumari
f2c1ae4f5f qcacld-3.0: Handle defect code
In __hdd_set_multicast_list(), mc_list_request->count is of
uint8_t type but the value is getting assigned from to
int type which may lead to overflow.
Fix is to change mc_list_request->count to int type

In check_disable_channels(), driver is not taking lock before
using hdd_ctx->original_channels. There could be possibility that
other api may change the value at the same time.
As part of fix take lock before using hdd_ctx->original_channels in
check_disable_channels()

Change-Id: I2ed53ca136f48034489a6fc3210ff3dfb77b4632
CRs-Fixed: 3882266
2024-08-16 01:17:28 -07:00
Ravindra Konda
65f6a181b9 Release 5.2.1.92V
Release 5.2.1.92V

Change-Id: Ib8fe2f9e232c45c7bd8055bb1f63376ace9562d8
CRs-Fixed: 774533
2024-08-14 01:54:11 -07:00
Pragaspathi Thilagaraj
5b7fda60f0 qcacld-3.0: Add duplicate peer detection logic before TDLS setup
Issue #1:
When Legacy sta does TDLS with one link of ML Sta and then
moves to the other link AP due to roaming or other reason, then
the same STA can try TDLS on the other link.
While processing TDLS add sta, peer create is done. If duplicate
peer exists, then WMA returns error and add sta failure status
is given to userspace. But the allocated peer idx and sta_ds
are not cleaned up resulting in TDLS peer delete sent on
wrong vdev during disconnect because the peer delete is done
for the pe_session for all the AID present in the aid bitmap
that is stored in the PE session.
In this failure scenario peer object already exists but sta_ds
is not present.

Add duplicate peer detection in lim while checking for sta_ds
also to avoid cleanup failure & add proper error handling
in lim_process_tdls_add_sta_rsp() for failure case.

Issue #2:
When Link Switch happens, as part of the disconnect sequence
the TDLS peers are not deleted sometimes. This is because, TDLS
module posts delete all peers msg to lim, but the disconnect
defers other msgs and pe_session is deleted. When TDLS msg gets
processed, it checks for pe_session to delete all the peers
based on the peer AID bitmap stored in pe_session.
Since PE session was deleted, the peers are not deleted and AID
was also cleared. So the TDLS peers where not deleted during
subsequent disconnections also.

Delete all TDLS peers directly when disconnect start indication
is received in IF MGR without posting msg, similar to south
bound disconnect & roaming cases.

Change-Id: I403fe0022289d4a5d5b45fdd37477b89ce50ec1e
CRs-Fixed: 3823658
2024-08-14 01:54:10 -07:00
Pragaspathi Thilagaraj
f942adf914 qcacld-3.0: Drop TDLS peer ADDBA request when not in connected state
When the DUT sends TDLS setup response directly to peer without
sending TDLS discovery, the peer can send the addba request
frame and it can be received before TDLS_CHANGE_STA,
TDLS_ENABLE_LINK is done from userspace. So all the capabilities
of the TDLS peer are not available till then. This causes the
addba buffer size to be lower and ultimately lower throughput is
observed on the TDLS link.

Drop the ADDBA request from TDLS peer if ENABLE_LINK is not done,
so that the peer will retry the addba frame later.

CRs-Fixed: 3828017
Change-Id: I3617d42db0dca88e9244565ba00a9740dc7be18b
2024-08-14 01:54:05 -07:00
Ravindra Konda
72d3c5e3ab Release 5.2.1.92U
Release 5.2.1.92U

Change-Id: I59a6c21f32e929223628881d838ff6fbba34ab1e
CRs-Fixed: 774533
2024-08-13 01:02:06 -07:00
Abhinav Kumar
9ccb6d08a5 qcacld-3.0: Update next RSSI threshold in GETROAMTRIGGER cmd
If DUT enters good rssi region from bad rssi region,
FW sends good rssi value to host via roam_msg_info event
with message id WMI_ROAM_MSG_CONNECTED_IN_POOR_RSSI.

Fix is to store “next RSSI threshold” value in vdev mlme
and update same when GETROAMTRIGGER is queried.

Change-Id: Icbf6cf050faab7e6f5dd418c07f6e94462e5c50a
CRs-Fixed: 3876356
2024-08-13 01:02:05 -07:00
Ravindra Konda
b29439c5f3 Release 5.2.1.92T
Release 5.2.1.92T

Change-Id: I6cbf483ab70b277206606057f7a24da7f05fe808
CRs-Fixed: 774533
2024-08-12 05:13:40 -07:00
Surabhi Vishnoi
a290016c0e qcacld-3.0: Enable peach v2 compilation in volcano
This change enables bazel compilation for peach v2
chipset on volcano target.

Change-Id: I1f9cddef836251ab8a5d7de28a560ef2de03ae0a
CRs-Fixed: 3856100
2024-08-12 05:13:39 -07:00
Ravindra Konda
5bfd688bb1 Release 5.2.1.92S
Release 5.2.1.92S

Change-Id: I67d9dc44938810bd41475ddcf7e7fc010e324750
CRs-Fixed: 774533
2024-08-06 18:35:42 -07:00
Jianmin Zhu
794ea74570 qcacld-3.0: Fix failed to roam to 320 MHz AP issue
When create vdev, CC is US, max_allowed_bw was 160 MHz, so host set EHT
cap without 320 MHz supported to F/W.
Then APPs reset CC to Japan, max_allowed_bw became 320 MHz, but host
didn’t update eht cap with 320 MHz to F/W correctly especially when
STA disconnected. So F/W can’t roamed to AP with 320 MHz BW.

To fix it, if max_allowed_bw become 320 MHz after CC changed, update eht
cap with 320 MHz supported to F/W correctly, if sta disconnected, update
CAP IE too.

Change-Id: Ifda240e6edd7fe123bf4f29b875d7792c1232463
CRs-Fixed: 3877506
2024-08-06 18:35:41 -07:00
Ravindra Konda
d3fabead6c Release 5.2.1.92R
Release 5.2.1.92R

Change-Id: I90eff6930862109079170de43750b2729027c771
CRs-Fixed: 774533
2024-08-04 23:56:49 -07:00
Surya Prakash Sivaraj
3fbcb24a71 qcacld-3.0: Downgrade connection to 11ax for EHT-only APs
Some IOT EHT APs do not respond to ML-probes. However, STA
does not support pure-EHT connections, therefore downgrade
the STA connection to 11ax for non-MLO APs.

Similarly, after 3 initial attempts of unicast join probing,
send the rest of the join probes as broadcast.

Change-Id: I9471c5b211f9480877c9c2475eaef93071b82734
CRs-Fixed: 3846888
2024-08-04 23:56:48 -07:00
Ravindra Konda
17c45a2d4e Release 5.2.1.92Q
Release 5.2.1.92Q

Change-Id: Iecfe784a6e73cd0df365a3fed27d7883cf5f9141
CRs-Fixed: 774533
2024-07-30 17:36:48 -07:00
Asutosh Mohapatra
1e226d0968 qcacld-3.0: Add NLMSG_HDRLEN for each nest
Currently while calculating skb length for usable
channel list host doesn't consider space needed for
each nla_nest_start. Hence sometime seeing failure
in filling skb because less memory gets allocated.

To address this issue, add NLMSG_HDRLEN size for each
nest.

Change-Id: If630a48bb30e491651c775f5ffdb957626fdbfd9
CRs-Fixed: 3877033
2024-07-30 17:36:47 -07:00
Ravindra Konda
0c2a8ca0ca Release 5.2.1.92P
Release 5.2.1.92P

Change-Id: Ib84244b787a2802dabcfe2cbf758276c88ca4618
CRs-Fixed: 774533
2024-07-30 10:12:12 -07:00
Karthik Kantamneni
00c7b16cd1 qcacld-3.0: Do not aggregate checksum failure packets in FISA
When MSDU fails for checksum validation, do not aggregate those
packets and make sure current flow is flushed. Since checksum
failure packet data is not trust worthy it is not advisable to
build aggregated skb on top of checksum failure packets.

Change-Id: I09d8c4aeb656e6b0b5d268a60d72147534f2a2ab
CRs-Fixed: 3805053
2024-07-30 10:12:11 -07:00
Ravindra Konda
c660976ec1 Release 5.2.1.92O
Release 5.2.1.92O

Change-Id: I6a6c2272a5fcff3ed6aa114d28c62c5b10830191
CRs-Fixed: 774533
2024-07-30 08:55:33 -07:00
Aasir Rasheed
95fd9e15d6 qcacld-3.0: Enhance STA ds check with MLD address
1. Check if STA is present with MLD address,
this can happen if STA is non ML, so MLD address will be used as
address for connected STA.

2. Check if STA present with same MLD address as current SA,
this can happen if SAP is ML, so the MLD address will be
used as SA address for connected STA.

Change-Id: Id3f64a8937c257ea503a0e847f16e2b251b4ef81
CRs-Fixed: 3871110
2024-07-30 08:55:32 -07:00
Ravindra Konda
096a377b13 Release 5.2.1.92N
Release 5.2.1.92N

Change-Id: I0b62ead38a14395ebf85df20b39fda6fed9b9115
CRs-Fixed: 774533
2024-07-26 04:31:31 -07:00
Ananya Gupta
ec6854defd qcacld-3.0: Set cdp_soc null in dp_ctx during detach
Currently, stale cdp_soc member in dp_ctx is being accessed
when interface is being added after wlan is detached during
idle shutdown.
To fix this, set cdp_soc NULL in dp_ctx when wlan is detaching.

Change-Id: I922f92cb7ba22bf84f39a44b6d78cd4b36bea058
CRs-Fixed: 3872183
2024-07-26 04:31:30 -07:00
Ravindra Konda
d2812c25e5 Release 5.2.1.92M
Release 5.2.1.92M

Change-Id: Idf66dbeb8dd85d19d3d997c05bcad72c52fc16f1
CRs-Fixed: 774533
2024-07-24 06:58:48 -07:00
Surya Prakash Sivaraj
20838d9db3 qcacld-3.0: Do not send ML-probe to non-ML AP
This change reverts the hard-coded downgrade of non-ML
APs to 11ax from I9471c5b211f9480877c9c2475eaef93071b82734.

Instead, do not send ML-probe or ML IE in assoc request, if
the AP does not support MLO. This keeps the connection as
11be.

Also, cleanup the unused variables in bss description and
keep it 4-bytes aligned.

Change-Id: I1aa681ecce04615f88d563c07d9c7e2ef10c1b92
CRs-Fixed: 3857042
2024-07-24 06:58:47 -07:00
Ravindra Konda
d752daae23 Release 5.2.1.92L
Release 5.2.1.92L

Change-Id: I5888829e9278db916cd0bfec54621533ca8d209d
CRs-Fixed: 774533
2024-07-24 00:58:14 -07:00
Vijay Raj
6b467392ce qcacld-3.0: Add band check to differentiate between AP types during roaming
In the api cm_roam_mgmt_frame_event(), the received frame info
is differentiated between legacy and MLO AP on the basis whether
the current vdev is a ML vdev or not. This results in undesired
logging of result during MLo to legacy AP roam failure case as
the vdev is still the ML vdev as it is maintaining the current
connection with the ML AP while the frame info data received
from FW is for legacy AP.

Add a band check when processing the roam frame info data
received from the FW as band info in roam frame data follows
the following format:
1. 0: if the FW tried to roam to a legacy AP
2. when tried to a MLO AP, it will represent the link it forms
   association. The format as follows:
   * BIT 0: When it is associated on 2 GHz link
   * BIT 1: When it is associated on 5 GHz link
   * BIT 2: when it is associated on 6 GHz link

Change-Id: I7854ef368776ba11d4cdc8aca28ac86c8c2f4efa
CRs-Fixed: 3866223
2024-07-24 00:58:13 -07:00
Srinivas Dasari
ba77f5622c qcacld-3.0: Send only CHAN_LIST to fw when FCC command is received
Currently, host driver updates the corresponding
info(6 GHz band disable/enable) to regulatory when the DRIVER
cmd SET_FCC_CHANNEL is received. It also updates the complete
RSO_CONFIG to firmware as band has changed. Firmware roaming
state machine gets restarted as all RSO params got updated.
But there is no need to update the complete RSO config as only
band has changed. This can avoid firmware roaming restart.

So, send only CHAN_LIST to fw when SET_FCC_CHANNEL command is
received.

Change-Id: I209ba1f50ec1e08767ab7384cc266864d412f523
CRs-Fixed: 3871985
2024-07-24 00:58:08 -07:00
Ravindra Konda
5dfa8db1b5 Release 5.2.1.92K
Release 5.2.1.92K

Change-Id: I33a7d6b9614d0ccb9a66df6409eb202c7a69360d
CRs-Fixed: 774533
2024-07-23 21:46:50 -07:00
Jinwei Chen
14f566eeb2 qcacld-3.0: Fix invalid dp_intf accessing when delete dp_vdev
scenario:
(1) P2P GO interface is getting down, dp_intf is deleted.
(2) dp_vdev has not been freed as it's waiting peer_unmap
for self bss peer.
(3) once host received peer_unmap, bss peer get freed and
trigger dp_vdev deleting, the callback vdev->vdev_del_notify
will try to access dp_link->dp_intf->dp_ctx, invalid dp_intf
is used.

Get dp_ctx by dp_get_context() as dp_intf might be invalid already
when dp_vdev deleting happen.

Change-Id: I8c36b124d11f7fd8acaeb066e08865092ad02ab2
CRs-Fixed: 3866027
2024-07-23 21:46:49 -07:00
Ravindra Konda
d74498c278 Release 5.2.1.92J
Release 5.2.1.92J

Change-Id: I6613533dd91c02d03258c4425d9480edc9a8c360
CRs-Fixed: 774533
2024-07-22 02:36:45 -07:00
Asutosh Mohapatra
706918edc7 qcacld-3.0: Enable Adrastea compilation on parrot66
Make changes to enable Adrastea compilation for
parrot66 target.

Change-Id: Idc388f545e45ea0b9b2a40a0fd2cbc0987108a1a
CRs-Fixed: 3870247
2024-07-22 02:36:45 -07:00
Ravindra Konda
c04fb8590a Release 5.2.1.92I
Release 5.2.1.92I

Change-Id: I5e5ce99ad626ed86b101b3bcb7a440a3ac64aadb
CRs-Fixed: 774533
2024-07-19 02:25:38 -07:00
Will Huang
4e586b68b7 qcacld-3.0: Move forward functions to update ch_width for 6 GHz
If SAP start on 6 GHz, client associate request will not have HT
capability, so sta_ds->ch_width update too late in function
lim_update_sta_ds, but it is used by lim_populate_matching_rate_set
and lim_populate_eht_mcs_set, it lead to update 20 MHz eht mcs set
and caused other bandwidth eht mcs set not update and keep 0 finally
pass it to target. It will impact TX performance a lot.

Move forward functions to update sta_ds->ch_width for 6 GHz.

And update a typo of bw_160_rx_max_nss_for_mcs_10_and_11, it write
as tx.

Change-Id: I1c1cbe1daf8bfdf163d73c7aba5e7335e99e8157
CRs-Fixed: 3863495
2024-07-19 02:25:37 -07:00
Ravindra Konda
d3674712ac Release 5.2.1.92H
Release 5.2.1.92H

Change-Id: Id980437b5e5e29ee80a8b33669c141675b507d37
CRs-Fixed: 774533
2024-07-18 02:11:35 -07:00
Yu Tian
bb54be0dc9 qcacld-3.0: Make sure nbuf queue is clean for runtime disable rx thread
race condiction may happen between thread left nbufs and NAPI RX nbuf.
Change is to make sure thread queue is clean before remove bh protect.

Change-Id: Icbc0d9b14cb7a1dd87f5b42f3e658531ed5bc3d9
CRs-Fixed: 3864304
2024-07-18 02:11:35 -07:00
Sheenam Monga
35c8eefa9e qcacld-3.0: Don't send sta keepalive time greater than configured val
currently if bss_max_idle_period is greater than default configured
value of sta_keep_alive then same value will be sent to FW. If any
AP sets bss_max_idle_period to greater than sta_keep_alive then reset
is not done on vdev stop due to which same value will be set for
new connection.

Fix is to not to send bss_max_idle_period as time period limit because
same value is updated in bss_max_idle_period of interface. So, default
configured value of sta_keep_alive_timer is required to be passed for
threshold validation. value reset is required once vdev stop happens
to avoid same keep alive even if bss_max_idle_period is not advertised
by AP.

CRs-Fixed: 3861815
Change-Id: I457a436a4c8a561600e93b3d5deaa0399fbd2c7d
2024-07-18 02:11:29 -07:00
Ravindra Konda
9c8536b86f Release 5.2.1.92G
Release 5.2.1.92G

Change-Id: I2b80ee907389dba1f9bf05e19771060c8faae5c0
CRs-Fixed: 774533
2024-07-11 00:47:30 -07:00
Vinod Kumar Pirla
020883b561 qcacld-3.0: Add link id to roam connect req
Add link id to connect request for partner link roaming to
match with scan entry's self link id to avoid selecting
a candidate with same BSSID and MLD but different link id.

Change-Id: I4b903f2e64a9eb4cc9f197577b2b11ea657aa2b2
CRs-Fixed: 3843561
2024-07-11 00:47:29 -07:00