커밋 그래프

31108 커밋

작성자 SHA1 메시지 날짜
Ravindra Konda
e38aededab Release 5.2.1.90Z
Release 5.2.1.90Z

Change-Id: Id49627d9456665726de637dc60123b4e0182195c
CRs-Fixed: 774533
2024-05-29 10:29:43 -07:00
Arun Kumar Khandavalli
8a2760bbc5 qcacld-3.0: get the hif handle directly rather than with spinlock
Currently nack status is read using the pmo lock with bottom half
disabled, but if the wow wakeup irq is triggered at the sametime
it is waiting for the same psoc lock resulting in the dead lock.

Hence get the hif handle directly rather than with spinlock api.

CRs-Fixed: 3798619
Change-Id: Ic2d5cd07c2dafb525003ec7e9e02bc17d0876dd0
2024-05-29 10:29:42 -07:00
Ravindra Konda
ddd31e98e1 Release 5.2.1.90Y
Release 5.2.1.90Y

Change-Id: I3df06bfd654de71ca5a30194c3115fa11f15190a
CRs-Fixed: 774533
2024-05-29 04:22:41 -07:00
Abhinav Kumar
99708500c0 qcacld-3.0: Update correct chan info to kernel
Scenario here is:
1. AP configured in 320 MHz
2. Set country code = KR in DUT, It means DUT does not
   support connection in 320 MHz.
3. Trigger connection with AP, while processing driver
   founds, country code is KR, so downgraded connected
   channel with to next max supported channel width as
   per regulatory rule (which is 160 MHz here) and
   successfully associated with AP in 160 MHz.
4. After connection Host receives “get_channel” request
   from kernel.
5. Host gets currently connected BSSID and fetch
   corresponding channel information from scan cache.
6. As scan cache gets updated via beacon/probe response
   from AP and here advertise beacon/probe response in
   320 MHz. This results value of channel width for
   connected BSSID is 320 MHz and same host fill in
   get_channel response.
7. By this time driver connected in 160 MHz and
   connected channel width indicated to kernel is 320 MHz.
   Due to mismatch in channel width, kernel triggered
   disconnection.

Fix is to update connected channel width in response to
“get_channel” request.

Change-Id: I7c4a262d337f9deb8cb4436cae537d0069a98de1
CRs-Fixed: 3810073
2024-05-29 04:22:40 -07:00
Ravindra Konda
b6d1057c2a Release 5.2.1.90X
Release 5.2.1.90X

Change-Id: I268a2e711094d48a1be38dee39efed1b4c4039ba
CRs-Fixed: 774533
2024-05-28 01:23:01 -07:00
Shashank Reddy Vulupala
ff2309615f qcacld-3.0: Add NULL check for vdev
Pointer returned from tdls_process_mlo_choice_tdls_vdev can be
NULL. Add NULL check to avoid dereference.

Change-Id: Ibd7f8914a721517d7b959b864c033686b1160648
CRs-Fixed: 3757772
2024-05-28 01:23:00 -07:00
Shashank Reddy Vulupala
7be3bd7509 qcacld-3.0: Add check for station count
This change is to check for station count with maximum
number of concurrent connections.

Change-Id: I539ae0b78deadf5e514f00d57542b4dd871e0e4e
CRs-Fixed: 3776536
2024-05-28 01:22:55 -07:00
Ravindra Konda
1b9e39c748 Release 5.2.1.90W
Release 5.2.1.90W

Change-Id: I7479d850c5d33d52e6dd8e43fb2c6ebf741eabd6
CRs-Fixed: 774533
2024-05-28 00:20:26 -07:00
Rahul Gusain
bd3752ec96 qcacld-3.0: Add MLD addr check for SAP Deauth/Disassoc
Currently, driver check peer mac address to filter out duplicate
command in serialization queue. This peer mac address will be
peer MLD address from North bound and link address from the south
bound. For multi-link SAP, if disassociation or deauthentication
request received for two links of same STA (MLD address is same but
link address is different), then driver queue disassociation or
deauthentication command in the serialization for both links.
This will lead to duplicate disassociation or DE authentication commands
in the serialization for same STA.

So, to fix this, add check for MLD address and link address in the
serialization filter.

Change-Id: I2619e3009b28ceba6af4383e36ae40af82020b5f
CRs-Fixed: 3790148
2024-05-28 00:20:26 -07:00
Ravindra Konda
dffce2a619 Release 5.2.1.90V
Release 5.2.1.90V

Change-Id: Ief119f6e69c7233f07a60b0c0bc32f64b42246ce
CRs-Fixed: 774533
2024-05-26 10:19:27 -07:00
Jianmin Zhu
318a43a7b3 qcacld-3.0: Fix 11ax SAP stop issue after radar received
For 11ax SAP, when received radar, sap_is_chan_change_needed for 11BE
return false sometimes, target freq and bw is same as current, after
CSA, vdev restart failed in lim_process_sme_channel_change_request,
vdev becomes hung in SUSPEND-SP-CSA_RESTART. After 1 min, Kernel trigger
disconnect.

To fix it, if SAP isn't 11BE mode, sap_is_chan_change_needed return
true directly as legacy code.

Change-Id: I6db94c3117890d0ee924975af8b3c9efd9fb08ba
CRs-Fixed: 3789066
2024-05-26 10:19:27 -07:00
Ravindra Konda
5bdbaca521 Release 5.2.1.90U
Release 5.2.1.90U

Change-Id: Ic80301b4fa0f9ee096b222961ca932ba28baad97
CRs-Fixed: 774533
2024-05-26 06:19:37 -07:00
Asutosh Mohapatra
b927e5af83 qcacld-3.0: Add GET_KEEP_ALIVE_INTERVAL command support
Add support to handle GET_KEEP_ALIVE_INETRVAL command.
If received command in connected state return keep alive
period configured to firmware but if command received in
disconnected state, if user space has set keep alive
period then return the user space configured value or
else return INI configured value.

Change-Id: I5d386ecd141531795b471198bd70afa20210bdc5
CRs-Fixed: 3818096
2024-05-26 06:19:36 -07:00
Ravindra Konda
a3def36f0b Release 5.2.1.90T
Release 5.2.1.90T

Change-Id: Ifc8c56b4103cda076c5dadcedcadc24f86b280b2
CRs-Fixed: 774533
2024-05-25 00:29:10 -07:00
Jianmin Zhu
aae35f82a8 qcacld-3.0: Fix no 320M when connect 2 + 6 MLO AP
When connect 2 + 6 GHz MLO AP, 2 GHz is assoc link, when populate per
sta profile of 6 GHz in assoc req, use BW of current 2 GHz session
wrongly, so 320M is disabled wrongly in EHT cap.

To fix it, when populate per sta profile for assoc req, pass
pe_session as NULL since partner link pe session isn't created at that
time, don't clear 320M cap for 6 GHz link.

When config EPCS, update eht cap at same time.

Change-Id: I7422f0353cc087a24575f9be1d5b30a032cc7b8e
CRs-Fixed: 3821390
2024-05-25 00:29:09 -07:00
Ravindra Konda
5f25ad55af Release 5.2.1.90S
Release 5.2.1.90S

Change-Id: I57e94cae3b39e195ca8540591319b847d2936e0c
CRs-Fixed: 774533
2024-05-24 06:21:01 -07:00
Pragaspathi Thilagaraj
289683be04 qcacld-3.0: Don't allow RSO init in non-connected state
Below is the sequence of events causing RSO init command to
be sent to firmware while disconnect is happening:
1. Roam Start received from firmware in scheduler thread.
2. Connect request for reassoc received in supplicant thread.
3. This connect request triggers disconnect, but before RSO stop
& deinit is sent to firmware, roam synch event is received. This
roam synch is getting processed in the scheduler thread. But RSO
stop & deinit are sent in wpa_supplicant thread.
4. As part of roam synch host is posting RSO_ENABLE to RSO state
machine which triggers roam init to firmware.
5. Since disconnect sequence is already in progress, the RSO is
in init state before vdev stop. Disconnect sequence got executed
cleanly except for the RSO sequence.

This results in abnormal firmware behavior.

Check if the vdev is in connected state before sending roam init
to firmware.

CRs-Fixed: 3769766
Change-Id: I709c165bd9b11b323666e0e27cece76e6a4641dd
2024-05-24 06:21:00 -07:00
Ravindra Konda
1f9f716076 Release 5.2.1.90R
Release 5.2.1.90R

Change-Id: I4e75cb0fcdcaf89ac38d01364cad2f0437f875ce
CRs-Fixed: 774533
2024-05-22 23:21:04 -07:00
Ananya Gupta
028bd45cbd qcacld-3.0: Free skb if fisa flow vdev not matches dp_vdev
Currently, there is a rcu stall when dp vdev obtained from
dp_soc does not match vdev present in fisa flow which has
same vdev_id.
To fix this, if vdev id matches for both the vdev, drop the
skb.

Change-Id: I8be4ea77bd0bdd3096ebbad627674f7b8a9801cf
CRs-Fixed: 3817471
2024-05-22 23:21:03 -07:00
Ravindra Konda
e39d3920c1 Release 5.2.1.90Q
Release 5.2.1.90Q

Change-Id: I4f40a032121a221b3686e6f5e688858f7320fec0
CRs-Fixed: 774533
2024-05-22 22:19:45 -07:00
Yu Tian
fa5001a4b5 qcacld-3.0: Give correct initial value of dp_link
When dp_link is allocated, the member variable is
not initialized correctly. Change is to give initial
value to avoid of crash.

Change-Id: I0d032b4a25f31768f2aa5e7161cc625abe867df5
CRs-Fixed: 3797243
2024-05-22 22:19:44 -07:00
Ravindra Konda
3317823c27 Release 5.2.1.90P
Release 5.2.1.90P

Change-Id: If9fba63585764c21eb0905b2f9aa2832f6589144
CRs-Fixed: 774533
2024-05-21 22:51:12 -07:00
Deeksha Gupta
70cb8d3540 qcacld-3.0: Drop P2P Negotiation req on non-Social 2.4 GHz channel
P2P GO negotiation request is supposed to come only on
DUT listen channel.
But there may be chance of leakage on 2.4 GHz because
the ADC sampling rate is 60 MHz, DUT would receive the
attenuated (Rx BBF filter) signal 60 MHz away. So, the
req may get received in non-social channel.

fix is, add new logic to drop the P2P Go Negotiation
request if it is received on non-social channel.

Change-Id: I12ddddd47cd9b494f618b1ba9b383118221ff9d2
CRs-Fixed: 3808813
2024-05-21 22:51:12 -07:00
Ravindra Konda
22b1413787 Release 5.2.1.90O
Release 5.2.1.90O

Change-Id: I903d0b3bbe0d92bd25abd46e66a3c761aaa11816
CRs-Fixed: 774533
2024-05-21 09:30:00 -07:00
Ananya Gupta
25b2dea7fd qcacld-3.0: Issue disconnect for STA if new interface is Mon intf
Currently, when Rx monitor mode interface is coming up, STA is
not disconnected causing RXDMA ring to be used as both error ring
and destination ring. This is causing backpressure in RXDMA ring.
To fix this, issue disconnect for STA when Rx monitor mode is
being added.

Change-Id: I95e73edd80472a8aae9092ebdbce5e514b1cd531
CRs-Fixed: 3799325
2024-05-21 09:29:59 -07:00
Ravindra Konda
d05999febd Release 5.2.1.90N
Release 5.2.1.90N

Change-Id: Ib3a28c6e43c72f5980dddd4496e2f727aecdddda
CRs-Fixed: 774533
2024-05-21 06:12:41 -07:00
Liangwei Dong
e98f570915 qcacld-3.0: Don't add kickout AP to avoid list if rssi < -70 dBm
During roaming tests, if an AP gets kicked out due to move away,
the driver adds the BSSID to an avoid list.
However, this approach has a drawback. If the AP later moves nearby
again, it won’t be picked up because it’s still on the avoid list.
To address this, the driver checks the RSSI value before adding the
BSSID to the avoid list for kickout roam reasons.
If the RSSI value is above -70 dBm (from INI good_rssi_threshold)
and get kickout, which means AP may have functionality issue, then
the BSSID can be added to the avoid list. Otherwise, if the signal
strength is bad below -70 dBm, the BSSID should not be avoid list
because the AP may move away, let roam logic to pick up or not based
on score value of the BSS.

Change-Id: I4ace2733cfe270667d14095f1d4dc2c5abb9f0d5
CRs-Fixed: 3788290
2024-05-21 06:12:40 -07:00
Liangwei Dong
e0e1d4b396 qcacld-3.0: Allow pre-cac on 5 GHz with 160 MHz bandwidth
If pre-cac channel from userspace is Non DFS channel but
the pre-cac bandwidth is set to 160 MHz which cover DFS channel
range, we still allow the request instead of reject it.

Change-Id: I9a0778855bf6659fab20ae0cc82a17d652b0d282
CRs-Fixed: 3748905
2024-05-21 06:12:35 -07:00
Ravindra Konda
9497e2fec8 Release 5.2.1.90M
Release 5.2.1.90M

Change-Id: I1197b4306dde234975a46b88ca1e6b5812dde0ca
CRs-Fixed: 774533
2024-05-21 00:53:31 -07:00
Lin Bai
ec1ac7d8cf qcacld-3.0: Sanitize extn_eids before dereference
Sanitize extn_eids before de-reference.

Change-Id: I08a13fe785ebbf66f7ec3394d7aa72f685438619
CRs-Fixed: 3667854
2024-05-21 00:53:30 -07:00
Ravindra Konda
8c521e2828 Release 5.2.1.90L
Release 5.2.1.90L

Change-Id: I583f559407ddd25d0ca31b63b6597bf6d017ec2b
CRs-Fixed: 774533
2024-05-20 00:32:59 -07:00
Pragaspathi Thilagaraj
8be63d2a28 qcacld-3.0: Send RSO stop if process roam synch indication fails
If CSR roam synch callback fails then the status is not updated
with error status code and this causes the caller to consider
roam synch indication is successful and RSO stop is not sent
to firmware leading to roam synch completion timeout at firmware

Send correct status to the caller of the api:
cm_roam_sync_event_handler_cb() if CSR roam synch processing
fails

CRs-Fixed: 3800617
Change-Id: I29214c04976498fd81cb5266738e341928af3af7
2024-05-20 00:32:59 -07:00
Ravindra Konda
39c9744f9d Release 5.2.1.90K
Release 5.2.1.90K

Change-Id: I334ef84dc7b89b6911427b1dbe37d688c68795c5
CRs-Fixed: 774533
2024-05-19 22:59:42 -07:00
Jianmin Zhu
d8a41ba33c qcacld-3.0: Fix vdev WLAN_LEGACY_WMA_ID ref leak
If dyn_modulated_dtim enabled and activated, vdev WLAN_LEGACY_WMA_ID ref
leak may happen in wma_add_sta_req_sta_mode.

To fix it, release vdev ref in all cases in wma_add_sta_req_sta_mode.

Change-Id: Ib1d8262760fdc644a382c1405cdfda8498703440
CRs-Fixed: 3716752
2024-05-19 22:59:41 -07:00
Ravindra Konda
f61613e27f Release 5.2.1.90J
Release 5.2.1.90J

Change-Id: Ieb8b6c93074837d96f908c5641a14c63ff516633
CRs-Fixed: 774533
2024-05-19 08:26:13 -07:00
Jianmin Zhu
7bdd7e798e qcacld-3.0: Set link speed as 0 for inactive mlo link
For mlo inactive links, F/W always set RSSI as -128, but report good old
link speed to host which doesn't match RSSI.
To fix it, when RSSI is -128, keep rate and links speed as 0, don't fill
old link speed from F/W.

Change-Id: I38562e724aa751ffaaad05a753fd479339468c62
CRs-Fixed: 3804884
2024-05-19 08:26:12 -07:00
Ravindra Konda
73e822f3d3 Release 5.2.1.90I
Release 5.2.1.90I

Change-Id: I7da148b52d7f8d733695a54bb5dff485180c7179
CRs-Fixed: 774533
2024-05-17 15:11:00 -07:00
Pragaspathi Thilagaraj
c508d7aa55 qcacld-3.0: Update PMK from firmware for FT-SAE AKM also
When roaming happens with full SAE for FT-SAE AKMs host doesn't
update the PMK received from firmware into its global cache.
This causes stale PMK to be sent to firmware when full SAE
happens when roaming to below AKM's:
WLAN_CRYPTO_KEY_MGMT_FT_SAE
WLAN_CRYPTO_KEY_MGMT_FT_SAE_EXT_KEY

So update the PMK sent from firmware for above AKM's when
auth status is connected (full SAE happens at host).

CRs-Fixed: 3807689
Change-Id: I25d1a253de37481952c41f54697521285a0ccf92
2024-05-17 15:10:59 -07:00
Asutosh Mohapatra
288a41b8e8 qcacld-3.0: Apply cached KEEPALIVE interval after STA connection
Currently host rejects SET_KEEP_ALIVE_INTERVAL command if STA
is not connected. Instead of rejcting cache the KEEPALIVE
interval and apply after STA connection.

Change-Id: Ic45bceb6248f37afd2ab6348545a8c1eeb9e56d0
CRs-Fixed: 3814077
2024-05-17 15:10:52 -07:00
Ravindra Konda
30fe20447c Release 5.2.1.90H
Release 5.2.1.90H

Change-Id: I3b8b45ed84b03f36d8074fe695d7e3886a095198
CRs-Fixed: 774533
2024-05-17 14:02:07 -07:00
Venkateswara Naralasetty
eb80f86a02 qcacld-3.0: log imps state during imps WMI cmd send
Currently there is no way to know the last imps state sent from host
to FW in case of WMI history overwritten, hence log the imps state
during WMI_PDEV_PARAM_IDLE_PS_CONFIG command send from
wma_enable_disable_imps().

Change-Id: I0e6605ce35d24a26b4056acc9864dbeefe0b53a9
CRs-Fixed: 3730533
2024-05-17 14:02:06 -07:00
Pragaspathi Thilagaraj
06894c9f62 qcacld-3.0: Use proper GFP flags for CFR vendor event allocation
GFP_KERNEL flag is used for vendor event allocation. But the
event is handled in IRQ context. So when kernel tries to
sleep while doing and event skb allocation, assert happens.

Pass the GFP flags based on the context in which allocation
is done.

Change-Id: Id58e417dc2ff203c512a14f06cd31b64e1834ef1
CRs-Fixed: 3812694
2024-05-17 14:01:55 -07:00
Chaoli Zhou
1fee2fd0aa qcacld-3.0: Support EAPOL over Netlink
Support EAPOL send/receive over netlink, and meanwhile
add new function to update the source address of EAPOL
for the legacy wlan client in the mlo sap case.

Change-Id: I138f6f8367501771149929f90b8ff31eeafc8b11
CRs-Fixed: 3693871
2024-05-17 14:01:43 -07:00
Ravindra Konda
bb68399e4d Release 5.2.1.90G
Release 5.2.1.90G

Change-Id: I44ad3d74c825e785d4da74a08b3dde591350853e
CRs-Fixed: 774533
2024-05-16 18:09:35 -07:00
Jianmin Zhu
f5936bf8d8 qcacld-3.0: Add SAP iface number check when iface up
If 3 SAP virtual iface are created first, then up, 3 MLD is
created during 3 vdev created, but 3rd failed to added to
g_mlo_ctx->ml_dev_list for WLAN_UMAC_MLO_MAX_DEV limit, when the vdev
deleted, assert will happen when remove MLD from g_mlo_ctx->ml_dev_list.

To fix it, need avoid the active number of SAP interface exceed
QDF_MAX_NO_OF_SAP_MODE, need add check when up SAP interface.

Change-Id: I0ba78d589dfc3c6351b48d4790e15c7d9da4961c
CRs-Fixed: 3795974
2024-05-16 18:09:35 -07:00
Ravindra Konda
02966c9b2c Release 5.2.1.90F
Release 5.2.1.90F

Change-Id: I81019a42005bbd2b04163027d9e82da84c4401a4
CRs-Fixed: 774533
2024-05-16 06:44:02 -07:00
Prasanna JS
d40cd31625 qcacld-3.0: Fix uninitialized pointer used issue
'sta_self_wmi_rsp' pointer might be used uninitialized
in wma_self_peer_remove func, To fix this issue,
initialize 'sta_self_wmi_rsp' to NULL

Change-Id: I8c6a0ebd8820ac0e1c303b9a932c7f8a8aadc1be
CRs-Fixed: 3687608
2024-05-16 06:44:01 -07:00
Ravindra Konda
d7d4d8c399 Release 5.2.1.90E
Release 5.2.1.90E

Change-Id: I893dbe5c11341c83ec4fd3a190cea2d5131d38e1
CRs-Fixed: 774533
2024-05-16 04:24:56 -07:00
Asutosh Mohapatra
35a44a585c qcacld-3.0: Set KEEPALIVE interval for connected ml vdevs
As part of SET_KEEP_ALIVE_INTERVAL command host configures
KEEPALIVE interval only for assoc vdev only and fails to
reset for assoc vdev during disconnect as partner vdev is
disconnected first this value gets reset during partner vdev
disconnection.

To address this issue set KEEPALIVE interval for all connected
vdevs and reset for both assoc and partner vdev during
disconnection.

Change-Id: Ib7d4e3208afa4d4a53f015cf8317d5e6f870daa3
CRs-Fixed: 3805847
2024-05-16 04:24:55 -07:00
Asutosh Mohapatra
cf626e1a3c qcacld-3.0: Reconfigure KEEPALIVE interval after link switch
As part of SET_KEEP_ALIVE_INTERVAL command host configures
KEEPALIVE interval for connected ml vdevs and resets to
default value as part of disconnect. In case of disconnect
as part of link repurpose host resets KEEPALIVE interval
and fails to set in connect case.

To address this issue, don't reset KEEPALIVE interval
incase of link repurpose and set it after connection.

Change-Id: Ia62109ceb32740844cfef3ef975ab15492e64b8c
CRs-Fixed: 3805788
2024-05-16 04:24:47 -07:00