Commit Graph

20274 Commits

Author SHA1 Message Date
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
Bing Sun
e6bd68e884 qcacmn: Fix API with "no previous prototype" build error
If the function neither static nor declared before, it reports
build error "no previous prototype for"。
Define the function as static if it is not declared before.

Change-Id: I12294af372ff9586c99b726bcf755a4fa3e7ba28
CRs-Fixed: 3606048
2023-09-11 03:39:08 -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
Chaithanya Garrepalli
31c9403303 qcacmn: Add TX global desc pool per arch type
As cookie format is different between LI and BE have
different global descriptor pool for Lithium and
Beryllium

Change-Id: Idd222f4009c017a1bc4bc4b14043b36d927a9e27
CRs-Fixed: 3608792
2023-09-09 12:57:16 -07:00
Vijay Raj
e762867930 qcacmn: Extract MLO specific data for BTM logging
Extract MLO band data from roam stats event for
BTM query, BTM request and BTM response logging.

MLO Band refers to the band of the link involved
in MLO conenection.

Change-Id: Ia60821f7973fe1d39eb824a3eac7791672503084
CRs-Fixed: 3583688
2023-09-09 03:36:54 -07:00
Pavankumar Nandeshwar
d003031f93 qcacmn: Avoid multiple pre reset done triggers in Umac reset
Make sure that the pre reset done notification is sent
only once during Umac reset.

Change-Id: I1d9e1d8caef49443d25e879086043e815ea087a1
CRs-Fixed: 3594653
2023-09-09 03:36:44 -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
Bing Sun
833c538818 qcacmn: Fix build error caused by hif_config_irq_clear_affinity
hif_config_irq_clear_affinity is not defined, while
hif_config_irq_clear_cpu_affinity is defined.
Do not export undefine API.
Export hif_config_irq_clear_cpu_affinity.

Change-Id: I6b66ae687446b1c1eae15683766fd47554156b90
CRs-Fixed: 3606013
2023-09-08 11:30:46 -07:00
Hariharan Ramanathan
802d89f09e qcacmn: Changes to avoid negative parameter in function
Changes to add debug prints and avoid passing negative parameters to a
function.

Change-Id: I8d1a10e0947582c8a307e40f6871e5dad802012a
CRs-Fixed: 3603846
2023-09-08 11:30:35 -07:00
Vijay Raj
489ba59cfe qcacmn: Add MLO support for roam_scan_stats_tlv
Modify roam_scan_stats_tlv and roam_scan_ap_stats_tlv
to introduce mlo specific elements for Roam scan start
and Roam candidate ap logging.

Change-Id: I8e72abc3b888614faf533fd8086cf73a29c26f85
CRs-Fixed: 3582433
2023-09-08 04:12:34 -07:00
Vinod Kumar Myadam
1d489d75e7 qcacmn: Add vendor command to support EHT IE
Currently if STA connected in 11BE mode, EHT Operation IE is not
getting updated in big data stats.

Add vendor command to support EHT operation IE,
QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_EHT_OPERATION.

Change-Id: I10bf45fcd6eeb7c06980d15a845be00ffdd72cde
CRs-Fixed: 3598720
2023-09-08 04:12:22 -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
Namita Nair
b4176868a5 qcacmn: Check for target_suspend state before issuing WMI
In OPT_WIFI_DP we perform a system_wakeup before issuing WMI command
to FW to disable low power mode. But as this is not a blocking call,
WMI command could be sent to FW before target is completely
resumed. This will trigger an intentional safety assert.
This change will wait 500ms for target to resume and send
the WMI command after ensuring target is not in suspend state.

Change-Id: I380bd9fd4e292caba5f32f80e65f3c5c992dae3c
CRs-Fixed: 3604250
2023-09-08 04:11:27 -07:00
Mohammed Ahmed
426475f76c qcacmn: sun changes
With new sun kernel, wep keys are deprecated,
resulting in compilation issues. Fix this by
not using wep_keys if kernel is sun or greater.

Change-Id: I2c79545798825ae7c963885356595e5fa35b910a
CRs-Fixed: 3601939
2023-09-08 04:11:16 -07:00
Rakesh Boyina
f4b054cd11 qcacmn: Parse Extended MLD CAP & OP of ML IE
Include Extended MLD Capabilities & Operations subfield size
calculation in the calculation of Common Info Length of the
Basic Variant ML-IE parsing

Change-Id: I8fea9058dc37b7605827ef827a3ccba71be00982
CRs-Fixed: 3590364
2023-09-07 11:19:32 -07:00
Aravind Kishore Sukla
ef9f0f085e qcacmn: Add OCI IE element id extension
Add OCI IE element id extension

Change-Id: Ie0c85d3639b54aea28c80aa63acb70834570bd41
CRs-Fixed: 3609912
2023-09-07 06:00:58 -07:00
Will Huang
9b2ffd86bb qcacmn: Add QCA vendor attribute for configuring max A-MPDU aggregation count
Add a QCA vendor attribute QCA_WLAN_VENDOR_ATTR_CONFIG_PEER_AMPDU_CNT to
enable configuration of TX maximum aggregate size with a specific peer.
This can be used to improve performance in noisy environment. In AP
mode, the peer MAC address of the associated STA is specified with
QCA_WLAN_VENDOR_ATTR_CONFIG_PEER_MAC.

Change-Id: I659659d9277d9c22024164d12636315952866654
CRs-Fixed: 3603816
2023-09-06 23:06:01 -07:00
Will Huang
8d8adcb68f qcacmn: Change QCA vendor configure attribution name of peer MAC address
Rename the attribute QCA_WLAN_VENDOR_ATTR_CONFIG_RX_BLOCKSIZE_PEER_MAC
to a generic name QCA_WLAN_VENDOR_ATTR_CONFIG_PEER_MAC, so other
configuration commands can reuse it. And make backward compatibility of
QCA_WLAN_VENDOR_ATTR_CONFIG_RX_BLOCKSIZE_PEER_MAC, define it as same
value of QCA_WLAN_VENDOR_ATTR_CONFIG_PEER_MAC (35).

Change-Id: I393afb23df697321bd49c4f6d87213050f218d75
CRs-Fixed: 3603779
2023-09-06 20:11:26 -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
Deeksha Gupta
1a1cc914ec qcacmn: Added new parameter in p2p_set_noa command
Added support for new "start" parameter in
p2p_set_noa driver command.

CRs-Fixed: 3598704
Change-Id: I6c9c06ea58e1736dedb3a241b1f04f1b9ce71b44
2023-09-05 20:19:25 -07:00
Manikanta Pubbisetty
17183c4759 qcacmn: Fix panic due to incorrect inputs to QDF_TRACE
Fix panic due to passing a smaller number of arguments to QDF_TRACE API
in hif_print_napi_stats().

Change-Id: I37b9c9ec374f7ab37adc169a7de0829fd1cb60fc
CRs-Fixed: 3602357
2023-09-05 15:15:22 -07:00
Vijay Patil
0adf2938cc qcacmn: Add support to handle PEER_OPER_MODE_CHANGE event
Firmware sends PEER_OPER_MODE_CHANGE event to host in SAP
mode when a connected client indicates upgrade/downgrade
of its bandwidth.
Host needs this data as any further SAP bandwidth
upgrade/downgrade should honor the indicated bandwidth for
that specific peer.

Change-Id: If15f491fd970486d8e84d1845866688d837ea2b4
CRs-Fixed: 3604865
2023-09-05 15:15:11 -07:00
Mukul Dhiman
e9acbea027 qcacmn: fix dp_update_mlo_ctxt_stats calling location
fix dp_update_mlo_ctxt_stats calling location

CRs-Fixed: 3593264
Change-Id: I3421609b77b975a2579fc03dcbaf011520af772b
2023-09-05 15:15:01 -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
Amit Mehta
3a860c18df qcacmn: Add support to update peer freq
Add support to update peer freq info and
add changes to map link ID to band

Change-Id: I1115573c70d73ff83df415bb5732b8ff4109a787
CRs-Fixed: 3589666
2023-09-04 18:35:01 -07:00
Amit Mehta
dc7a06f247 qcacmn: Fill additional fields during connectivity logging
Fill additional is_tx and supported_links info during
connectivity logging

Change-Id: I71a23c7251a2781789ec1d0adb497ac5c4bbe881
CRs-Fixed: 3571826
2023-09-04 18:34:51 -07:00
Mukul Dhiman
f2ec1f62b2 qcacmn: preventing potential Side effect of ++ oper in assertion
preventing potential Side effect of ++ oper in assertion

Change-Id: I3db2004f11e7668c23278754505bb6c40bd26a24
CRs-Fixed: 3603424
2023-09-04 18:34:40 -07:00
Mukul Dhiman
3764474cbd qcacmn: removing/handle DP stats asserts
removing/handle DP stats asserts

Change-Id: I8bd92a4c052a12846f9e2044ab08bdc6159644f0
CRs-Fixed: 3599818
2023-09-04 14:27:20 -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
Tiger Yu
dbfc30e61b qcacmn: Add pdev checking when processing the htt completion messages
Add pdev checking when processing the htt completion messages to avoid
NULL pointer dereference both in the dp_tx_process_htt_completion and
dp_tx_comp_handler.

Change-Id: I9e8129cfa297d4f2e180550c50ad8a4f1be20ee0
CRs-Fixed: 3583893
2023-09-04 06:21:55 -07:00
Pavankumar Nandeshwar
978f044cfb qcacmn: Move the rx err handling API inside build flags
Move the rx err handling API inside build flags to avoid
compilation issue.

Change-Id: I41839bf2f1ee4681bcead9b8291a514e26cd7c8c
CRs-Fixed: 3605183
2023-09-04 06:21:44 -07:00
Jia Ding
536dd3af2c qcacmn: Implement ucfg API to get alternate TX pipe
Implement ucfg API to get IPA alternate TX pipe for the target interface
by vdev id.

Change-Id: Icaf24ce32db01b29770f6a2123d41c13cfa15456
CRs-Fixed: 3599450
2023-09-04 06:21:32 -07:00
Ashish Kumar Dhanotiya
899428801f qcacmn: Add support for audio transport switch event
Based on the new requirement, add support for vendor event
to switch the audio transport bearer.

Change-Id: Ic83cff67e92554c55de96b9453f097e41683b60b
CRs-Fixed: 3585411
2023-09-03 22:33:23 -07:00
Ashish Kumar Dhanotiya
5a65732c7d qcacmn: Add support for audio transport switch vendor command
Based on the new requirement, add support for vendor command
to switch the audio transport bearer.

Change-Id: I85e61dfbcec55bad7685f143d7128654e47b66f3
CRs-Fixed: 3585196
2023-09-03 14:41:23 -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
Neha Bisht
c3dfb6b22c qcacmn: Add SPECIAL descriptor flag in tx desc
Add SPECIAL descriptor flags in tx desc

Change-Id: I0ee73a939ef7734b5f37cdb278642772c1a8d2b9
CRs-Fixed: 3605272
2023-09-03 14:41:02 -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
nobelj
beede07860 qcacmn: Add fix to populate transmit count
Add fix to populate transmit count for exception frame

Change-Id: I3fa77783169b86779b8a3d6cc0152de8f58cbadf
CRs-Fixed: 3583259
2023-09-03 10:42:18 -07:00
Ruben Columbus
dcfc490267 qcacmn: debug and reset functionality for monitor
monitor reset functionality when bkpressure is seen.
debug logs added to inspect monitor ring in case of bp.

Change-Id: I8e79f97b315653f302da087ea8d82362ba02723d
CRs-Fixed: 3542923
2023-09-03 10:42:07 -07:00
Chaithanya Garrepalli
084db81bf9 qcacmn: Add null check for DP MLD context
Add NULL check in CDP API for MLD context as it can
be called by upper layers for non-MLO VAPs

Change-Id: Id77284ca81462a7e799a7b93e3528d9d9144372c
CRs-Fixed: 3605323
2023-09-02 21:23:49 -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