Gráfico de commits

4412 Commits

Autor SHA1 Mensagem Data
Srinivas Pitla
f1bb50be1b qcacmn: FT over DS association support
Add support for MLD MAC address table to MLD.
This MLD address table allows API to add/delete/find entries by MLD MAC
address. This framework would be used for implementing FT over DS,
where Assoc request is received by AP without receiving Auth request.

Change-Id: I3dbc4c0507f2113d2c0cc5e58f41d69243a4cfc8
CRs-Fixed: 3608944
2023-09-20 23:59:58 -07:00
Aditya Kodukula
7c2ddd6c3e qcacmn: Hide 4th and 5th bytes of MAC address
Currently in the driver, we hide 2nd, 3rd and 4th bytes of the
MAC address in GKI builds. Since 2nd and 3rd bytes are needed for
debugging, hide only 4th and 5th bytes of the MAC address.

Change-Id: Ia432bb0d40e0a09b56e581f192a810e727127d3a
CRs-Fixed: 3616774
2023-09-20 20:10:21 -07:00
Vijay Raj
cabdbfa0c8 qcacmn: Add API to populate parameter for connecting event logging
Introduce API to populate parameter for connecting event
logging in order to be printed after STA INFO
event.

Add wlan_cm_is_first_attempt() api in order to
restrict the logging of STA INFO and connecting
event to first connection attempt.

Change-Id: Ica4253eea71ba72ea5176f733402d0758797463b
CRs-Fixed: 3599759
2023-09-20 20:10:10 -07:00
Jianmin Zhu
dfe6f3cf0a qcacmn: Fix SCAN RANDOMIZATION failed for connected state
When F/W triggered roaming and wpa supplicant reassoc happen back to back,
disconnect may happen at last, but set send_disconnect flag of connect rsp
to true for last candidate, not for first candidate.
with Change-Id: I850c20cdfeb0c8423d074094f97c83599e43b409, first candidate
connect rsp is sent to kernel, kernel connected state isn’t cleared,
so SCAN RANDOMIZATION is always blocked later.

To fix it, copy send_disconnect flag of connect rsp from last candidate
to first candidate, then disconnect event of first candidate will be
sent to kernel to clear connected state, SCAN RANDOMIZATION won't be
blocked.

Change-Id: Ib7c0ec5d9b8e99de8f2548718f12ecddc94c792e
CRs-Fixed: 3615898
2023-09-19 12:16:33 -07:00
Aravind Kishore Sukla
77cbd24eb2 qcacmn: Add check for rf_test_mode to connect in MLO open mode
Add check for rf_test_mode to connect in MLO open mode

Change-Id: Ie23b2c949497fb8f473fe772d68e85654d1baa7c
CRs-Fixed: 3611147
2023-09-18 15:32:23 -07:00
Aasir Rasheed
52662b6274 qcacmn: Prevent key install before receiving from user space
To prevent key installation in firmware before receiving the key from
user space. Currently, host receive the key in one thread
while simultaneously installing keys in a scheduler thread.

This change aims to resolve the synchronization issue by allowing key
installation only in one thread.

Change-Id: Ib5772cd2d0ed470756a4222aa9e11c356390f014
CRs-Fixed: 3591663
2023-09-16 07:46:23 -07:00
Vijay Raj
75a684099b qcacmn: Add support to handle WMI_MLO_LINK_STATE_SWITCH_EVENTID
Register event handler for WMI_MLO_LINK_STATE_SWITCH_EVENTID.
Add target if event handler for the
WMI_MLO_LINK_STATE_SWITCH_EVENTID event, and register
corresponding mlo manager callbacks.

Add extract API for link state switch event parameters received
Call the diag event API from MLO manager post extracting the
event

Change-Id: Ib588ee87a5c37c6a34c86ce8cbf134a273c6461b
CRs-Fixed: 3610041
2023-09-15 21:09:43 -07:00
Himanshu Batra
f07920991b qcacmn: Check return value for scheduler post msg
Check return value for scheduler post msg for disconnect message

Change-Id: Ib6ebbd5d043cf48410ff902ec6eacbaf3a7f3c2a
CRs-Fixed: 3614968
2023-09-15 17:34:34 -07:00
Shailendra Singh
e5f0c4c549 qcacmn: Limit non-SRG PD threshold upto MAX allowed limit
Limit non-SRG PD threshold for upto minimum of MAX allowed limit
and AP advertised value and check AP nonSRG PD threshold
with correct signedness.
Change for debug print to display param value in hex.

Change-Id: I630aa894c856226a886161ced648073782f379bc
CRs-Fixed: 3598056
2023-09-15 17:34:23 -07:00
Surya Prakash Raajen
ff56ef27f4 qcacmn: Add mlo teardown support for standby active mode
Add mlo teardown support for standby active mode in
mlo setup sequences and wmi

Change-Id: Iaa727527c53ff0ad6c7682e039ef23fa537e1ae0
CRs-Fixed: 3613367
2023-09-15 17:34:13 -07:00
Gangadhar Kavalastramath
48f4d53901 qcacmn: Configure STA with default non-SRG SR parameters
Currently, STA cannot perform SR when SAP does not include SR
IE in Beacon/Probe response/Assoc response.

This change is done to configure default non-SRG OBSS PD
parameters in FW in this case.

Change-Id: I8effbc31631267bd96a269e0bffff74139dafaf1
CRs-Fixed: 3607399
2023-09-15 17:33:51 -07:00
Hariharan Basuthkar
612d025fdf qcacmn: Modify reg_get_subchannels_for_opclass to fix a compilation issue
When WLAN_FEATURE_11BE flag is disabled, if opclass is 137, the API
reg_get_subchannels_for_opclass chooses the nchans as 16.
But the maximum size of the subchannels buffer is 8.
This leads to an array out of bound access issue.

To fix this issue, modularize reg_get_subchannels_for_opclass by
adding a new subfunction reg_get_nsubchaneels_for_opclass to get the
nchans. The maximum nchans returned by reg_get_nsubchanels_for_opclass
is 8, if WLAN_FEATURE_11BE is disabled.

Change-Id: I50095768e4a232fa83f1bc69690f64a745eecb05
CRs-Fixed: 3607354
2023-09-14 04:45:30 -07:00
Shwetha G K
2c7b2d2388 qcacmn: Fix OOB issue
Changes to fix OOB issue seen util_scan_parse_beacon_frame.

CRs-Fixed: 3582496
Change-Id: I53244be54d31e87b55d0b44ce94315c8001f417d
2023-09-14 04:45:19 -07:00
Krupali Dhanvijay
555d8a4776 qcacmn: Update set_disable_channel_list cmd for 6 GHz channels
Currently SET_DISABLE_CHANNEL_LIST command is used to disable
legacy channels only.

Update this command to accept frequency for all the bands along with
the channel numbers from legacy (2.4 GHz/5 GHz) and update the
channel state in secondary channel list also.

Change-Id: Iecc9f73dca65900d82a2f2a044cb854cea58c638
CRs-Fixed: 3601253
2023-09-13 22:28:19 -07:00
Srikanth Marepalli
f8d554dc22 qcacmn: Send the user configured MFP state in RSO command
Currently the user configured MFP state that comes from the
userspace in connect request is not handled or processed.
Instead the RSN caps from assoc IE of connect request is inter-
sected with AP RSN caps and sent to Firmware using RSO command.
This RSN caps is used in FW in selecting a roam candidate, which
was causing the cross AKM (eg:SAE -> PSK) roam fail.
Hence, use the user configured MFP value in sending the RSN caps
to Firmware.

CRs-Fixed: 3606069
Change-Id: I3facfcf3616667b4749109d26d924c3fb1537494
2023-09-13 14:21:13 -07:00
Rahul Gusain
f0fc4d0daf qcacmn: Code refractor for ML debug id
Currently, in some API such as
"wlan_cfg80211_tdls_add_peer_mlo", when driver gets vdev, it is
MLO vdev, so it uses WLAN_MLO_MGR_ID ID, but when it tries to put
the vdev, since disconnection happens and mlo flag is cleared,
so it uses WLAN_OSIF_TDLS_ID ID which is non-ML vdev.
This causes release of vdev reference from different id for which
it never takes reference and result in crash.

To fix this, use same debug id throughout function. For that,
generalize the get_ml_vdev API by passing the debug id as
argument to the function.

Change-Id: I5800d207fdd17692297e71a0a9cdbcb86a4c5650
CRs-Fixed: 3608817
2023-09-13 14:21:02 -07:00
Aasir Rasheed
1bd26224ae qcacmn: Reconfigure the link info when csa is received
Reconfigure the link information structure for the partner
links and assoc link when a channel switch event is received.

Change-Id: I022bb6c6e2bcf43a1efaa6234e52648142b9fde2
CRs-Fixed: 3599451
2023-09-13 14:20:52 -07:00
Aasir Rasheed
760a93969c qcacmn: Implement handling of mlo standby csa
Implement handling of mlo sta standby csa beacon
and initiate the transmission of a link bss request
command tlv to the firmware for standby link.

Change-Id: Ibdf903c69757b47f301ab9fa7c563407915532d6
CRs-Fixed: 3605764
2023-09-13 14:20:44 -07:00
Gururaj Pandurangi
0b84f05679 qcacmn: Fix compilation warnings on x86
Fix the compilation warnings on x86.

Change-Id: Ic9edafc5b33462f5c96faa391e6441141aa09837
CRs-Fixed: 3591586
2023-09-12 23:35:21 -07:00
Srinivas Pitla
734c9fcae7 qcacmn: Add WMI service support for WSI stats info
This change adds service bit support for WSI stats
to FW

Change-Id: I06119c2196b951393e8bbbb82bd4a10436207d63
CRs-Fixed: 3601765
2023-09-11 15:50:57 -07:00
Aditya Sathish
25c27f83e0 qcacmn: Add support for WSI link info libraries
Add support to capture ingress and egress stats
in the MLO manager

Change-Id: Ife0acab15ba802c953cfcf3a720c6e54933ded5e
CRs-Fixed: 3601749
2023-09-11 15:50:46 -07:00
Sheenam Monga
80935a3f31 qcacmn: Try SLO if 2 link MLO connection fails
Currently, max retail for connection is set to 1
it means only 2 trials are allowed, in case of 2
link MLO AP logic works fine but for n link only
first 2 combinations will be tried and SLO will
not be tried as no of retries will exceed than max
trials.

Fix is to update max retries to num_of_mlo_link - 1,
so that all combination tll SLO can be tried.

Change-Id: Id3e1da733d77eae79f2389b98ee9a664e44e6a2c
CRs-Fixed: 3607628
2023-09-11 15:50:36 -07:00
Abhinav Kumar
7fd1499c2a qcacmn: Don't issue RSO stop in case of MLO roam internal diss
In case when DUT Roamed to single link MLO, Driver triggers MLO
roam internal disconnection wlan_cm_disconnect() with reason
"REASON_FW_TRIGGERED_ROAM_FAILURE" and source
CM_MLO_ROAM_INTERNAL_DISCONNECT on second link
for internal cleanup without informing the FW.
In this case, If Host issue RSO stop command to FW, RCL get
clean up in FW.

Fix is to avoid issuing RSO stop in cm_disconnect_active() if
source = CM_MLO_ROAM_INTERNAL_DISCONNECT and roam reason =
REASON_FW_TRIGGERED_ROAM_FAILURE.

Change-Id: I13ae95114f2a3134b39b3db7fefc6a24c408c484
CRs-Fixed: 3577024
2023-09-11 07:02:46 -07:00
Pragaspathi Thilagaraj
1c1ebf792c qcacmn: Fix two enum members using same name
Fix the conflict between the host and fw enum
for mlo teardown reason.

CRs-Fixed: 3610563
Change-Id: I20638ed0cbe6b88e20f48815c236e92b833a34a9
2023-09-11 03:38:57 -07:00
Arun Kumar Khandavalli
0d54df03f9 qcacmn: Release mutex lock only once
In mlo_is_sta_csa_synced the mlo dev context lock is released
twice resulting in assert.

Release the mlo mutex once to avoid the assert

CRs-Fixed: 3598455
Change-Id: I1ceb797ddcaa8c57b8e7218c5b6aebf8d0136ab5
2023-09-09 22:45:32 -07:00
Aasir Rasheed
e4b28f875e qcacmn: Use mlo dev context to fetch link info
This change is to use ml dev context to fetch
link info, As ml dev context is available in both
vdev and psoc context. It's valid for both standby
and active links.

Change-Id: Ib705bd5a5a1144f980295331f5f26ba667906cf1
CRs-Fixed: 3568944
2023-09-09 19:32:34 -07:00
Paul Zhang
3ceac81c5e qcacmn: Fix issue about generating MBSSID frames
When generating MBSSID beacon/probe response frames, it
misses the last IE in the MBSSID ie list. To address it,
correcting the comparing length.

CRs-Fixed: 3609711
Change-Id: Ia406be0ade901c9bc01698faec473bd25c59dfb3
2023-09-09 03:36:33 -07:00
Vinod Kumar Pirla
f161aeba7c qcacmn: Defer disconnect req when link switch in progress
If link switch is in progress and no other disconnects are
pending in MLO manager sta ctx, save the new disconnect req
and move link switch state to abort. On link switch complete
schedule the pending disconnect in MLO manager.

In the scheduler callback for pending disconnect handling
add NULL check for disconnect request.

Change-Id: I4b144239eb1542cea934478643b6e53b371f2c93
CRs-Fixed: 3608727
2023-09-08 04:12:12 -07:00
Vinod Kumar Pirla
d968a41646 qcacmn: Do not serialize link switch for host force reason
In response to host set link request, FW might send link switch
request where FW will wait for response of link switch in order
to send response of set link. As set link is already in
serialization link switch will be in pending queue.
This will lead to dead lock case where set link in serialization
is waiting for FW response where FW is waiting for link switch
response which is in pending queue due to set link command.

To avoid this dead-lock, do not serialize link switch request
due to set link as FW will send the reason code as HOST_FORCE.

Change-Id: I338f6b4c90ceba5452ede77ad0237af7ddecb31f
CRs-Fixed: 3607164
2023-09-08 04:12:01 -07:00
Vinod Kumar Pirla
dcb8808eb6 qcacmn: Notify callbacks post link switch with status
Introduce new enum to hold the reason for invoking link switch
notify callback.

Notification happens in the following scenarios:
    a) On FW request received in host before serialization.
    b) Once link switch is serialized before link switch disconnect.
    c) On link switch complete but before removed from serialization.

Change-Id: Id502db935ccc3835ab8bb8fab8d89276abe0a243
CRs-Fixed: 3606668
2023-09-08 04:11:49 -07:00
Uraj Sasan
9487a4d77f qcacmn: Clear bridge_sta_ctx in MLO WDS STA
Clear bridge_sta_ctx during disconnect/connect failure.

There were issues in MLO WDS bridge STA mode when there was
multiple disconnect/connect failure, as the previous context
was not cleared and code logic was going into the earlier
state leading to issues.

Make sure to clear the context during disconnect and connect
failure so the STA context will be initialized properly.

CRs-Fixed: 3603610
Change-Id: I586ee44e7f4569693aa6c3550d1c5d94a1a9d3a7
2023-09-08 04:11:38 -07:00
Edayilliam Jayadev
105a5fc213 qcacmn: Cleanup assert in mgmt rx reo - Part 6
Cleanup asserts in management Rx reorder module.

Change-Id: Ief86560bab36a59c7e82707a4c0b58ff4ce954a8
CRs-Fixed: 3593933
2023-09-06 10:05:22 -07:00
Deeksha Gupta
4aa45fd033 qcacmn: Added new parameter in TWT context
Added new "is_ps_disabled" parameter in twt_psoc_priv_obj
and twt_work_params structure.

CRs-Fixed: 3606623
Change-Id: I2210251b1a96ffe39b152e73d6d82dddde80653d
2023-09-05 23:41:53 -07:00
Balaganapathy Palanisamy
93645c4efd qcacmn: Ignore down pending flag for bridge vap
Ignore setting vdev down pending flag for MLO bridge vap

Change-Id: I445484dc557a45230f287b3854d6ef85ca73140f
CRs-Fixed: 3603860
2023-09-05 15:14:50 -07:00
Balaganapathy Palanisamy
0761c3f248 qcacmn: Add bridge vdev count under mlo dev
Add bridge vdev count under MLO dev context and
free dev context when all vdevs in mlo dev context
are freed

Change-Id: I861ec17f0143df8e063cc245aa71195f0349b4a7
CRs-Fixed: 3598970
2023-09-05 15:14:40 -07:00
Aravind Kishore Sukla
8cd8d47be1 qcacmn: Modify the checks to validate security for 11be connection
In present scenario, if AP advertises multiple AKMs(wpa2 PSK + wpa3)
validation of security happens on wpa2 AKMs before validation
on wpa3 AKM and driver downgrades the connection to 11AX even
though the selected AKM is wpa3.
This is due to the negotiated security info in scan entry is updated
with intersected value only after peer create but this variable may
contain multiple AKMs before peer create.

Modify the checks to validate security for 11be connection.

Change-Id: If0c7886062fcf0c483145641e9c3cbf972f1ef13
CRs-Fixed: 3599053
2023-09-05 15:14:30 -07:00
Srinivas Dasari
374ff8699e qcacmn: Define WLAN_SER_CMD_SAP_BW_UPDATE serialization command
SAP BW needs to be updated to handle 320 MHz concurrencies.
Introduce a new serialization command for the same

Change-Id: Id9364a0dd03e458bf6d49edb65e05895ac418d4b
CRs-Fixed: 3601365
2023-09-04 18:35:12 -07:00
Surya Prakash Sivaraj
4daee5289b qcacmn: Send disconnect to kernel upon reassoc failure
DUT is in connected state, and a connect request(reassoc)
to a new BSSID is issued from userspace. Host triggers
disconnect of the existing connection, but the candidate
is not found for the new bssid hint even after scan and this
leads to connection failure.

Host does not indicate the disconnect of the previous BSSID
connection, and only connect result with status failure is
sent to the userspace for the reassoc connection. As a result
of this kernel fails to reset wdev->connected flag, and leads
to out-of-sync issues between kernel and host driver.

To fix this, extend the current disconnect indication logic on
non-init & non-connected state to all non-init states. Upon
connect failure, this ensures to send the disconnect indication
to the kernel, to clear the previous connection info.

Change-Id: I917b6a187d76c80a68cb56c7e1f33ca1805cbe55
CRs-Fixed: 3604338
2023-09-04 14:27:10 -07:00
Shiva Krishna Pittala
91485c3e97 qcacmn: Don't return failure in MLO disconnect path for NULL assoc case
With MLO AP removal procedure, AP MLD can remove a link that happens to be
the assoc link for a given Non-AP MLD and the Non-AP MLD can continue to
function after that. In the existing implementation, Non-AP MLD is
returning failure in the MLO disconnect path if the assoc link is NULL, fix
the same.

Change-Id: Ib14c87da083a99f5350c9b73df2b31d08749ff0a
CRs-Fixed: 3604869
2023-09-03 14:41:13 -07:00
Kenvish Butani
31876041a5 qcacmn: Attach / Detach vdev from DP MLO Dev ctx
For ML-Repurpose usecase, Attach or Detach vdev
to DP MLO device context.

Change-Id: I67a31db07c68fc9988c504f12a075541907d7027
CRs-Fixed: 3598387
2023-09-03 10:42:31 -07:00
Srinivas Dasari
26d8aab401 qcacmn: Make cm_bss_mlo_type a public API
Make cm_bss_mlo_type() public so that other components can use it.

Change-Id: I18f130eb147b859f8827bacbfd3d134121caabf1
CRs-Fixed: 3601362
2023-09-02 05:09:50 -07:00
Krunalsinh Padhar
9c5f2ce5a8 qcacmn: Fix probable null dereference
Remove the debug prints that would cause null dereferencing.

Change-Id: I002e9b14945a2e1de62f94095847ea8886decad6
CRs-Fixed: 3604295
2023-09-02 05:09:38 -07:00
Vaishnavi Chekuru
937e92c6c5 qcacmn: Enable CFR on pebble
1.Enabling CFR capture for pebble.
2.Clean up redundant check for Pebble while fetching rtt info
3.Clean up redundant check for Miami while fetching rtt info
4.Add 2023 to copyright year

Change-Id: I2ac845a1c5914004a0af4a007264d0cd5f431d3f
CRs-Fixed: 3596397
2023-09-02 05:09:06 -07:00
Surya Prakash Raajen
d0f606e7db qcacmn: Fix dec and test bit of shmem arena deinit count
Fix dec and test bit of shmem arena deinit count, as
qdf_dec_and_test returns true if the decremented resultant
value is 0,or false for all other cases.

Change-Id: I59523078bec409badbe253243443a12c508c036c
CRs-Fixed: 3593556
2023-09-01 21:01:50 -07:00
Vinod Kumar Pirla
caf1626286 qcacmn: On link switch don't change the state of ML peer
On disconnect ML peer state is set to disconnect initiated,
this helps to avoid sending multiple deauth/disassoc OTA
frames to AP on each VDEV.
If link switch fails the ML peer will be in this state so
for next userspace disconnect request deauth/disassoc frame
is not sent OTA and AP might not be aware of STA leaving the
network.

Do not change ML peer's state on VDEV link switch disconnect
to ML_PEER_DISCONN_INITIATED.

Change-Id: Icbbb46bbf78cea796a3a1e07754be3a626390ad0
CRs-Fixed: 3601739
2023-09-01 21:01:39 -07:00
Divya R
5e7649fe1a qcacmn: Memset master channel list 6 GHz AP structure
EIRP Power value in master channel list for power type VLP
is filled with garbage values even though VLP rules are not present.
Due to this, best power mode selection algorithm selects VLP as
best power mode and fails while setting frequency.

To fix this, memset the master channel list 6 GHz AP.

Change-Id: I21bfd69445aeb4756474ad452be0099498e9d5a6
CRs-Fixed: 3574999
2023-09-01 21:01:29 -07:00
Rahul Gusain
25a99149d2 qcacmn: Resolve compilation error for TWT APIs
Currently, driver does not use "WLAN_TWT_CONV_SUPPORTED" flag in
TWT APIs declaration. So, for some targets, it causes
compilation failure.

So, this change fixes the compilation issue.

Change-Id: Ie1b92119ef37b85f4c7eb1d0e23e7910eeab3415
CRs-Fixed: 3603668
2023-09-01 13:07:29 -07:00
Abhinav Kumar
88fa8a3f0b qcacmn: Send proper control mode value to upper layer
1. Upper layer sends QCA_WLAN_VENDOR_ATTR_LINK_STATE_CONTROL_MODE
vendor command to configure control mode in host/fw.
2. Host receives GET_ML_LINK_STATE driver command to return
control mode (configured at step 1) to upper layer.

Host should reply as a response of GET_ML_LINK_STATE with same
value of control mode configured at step 1 to upper layer.

Change-Id: I3b5cb3bec31957ee8479d7f366d1e360421a7573
CRs-Fixed: 3601735
2023-08-31 11:02:29 -07:00
Amruta Kulkarni
1684c8ceac qcacmn: T2LM timer changes
Currently the T2LM timer is maintained by host.
Code change made to add support to run the T2LM timer in FW.

CRs-Fixed: 3594141
Change-Id: I7eee4800f68b07d5492a0336e3fe8e0db17d2020
2023-08-31 11:02:17 -07:00
Asutosh Mohapatra
51e6e8633e qcacmn: Keep correct set of 6 GHz channels enabled in super channel list
Currently if fcc_constraint 0/2 is set and there are
active 6 GHz STA/P2P client connections, host keeps the
bonded channels enabled, but in super channel list
incorrect set of frequencies remain active. This
happens because the active frequency start and end
indexes are not according to the super channel list
indexes.

To address this issue, convert the active 6 GHz
range start and end indexes according to the super
channel list indexes.

CRs-Fixed: 3595197
Change-Id: I8bb3a5093eb3b8bd970fcd371a4939570207385b
2023-08-31 11:02:05 -07:00