Commit Graph

1431 次程式碼提交

作者 SHA1 備註 提交日期
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
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
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
David Oladunjoye
9506ccc29b qcacmn: Increase max HW mode and max mac phy cap
Currently, if FW advertises more than three HW modes and more
than five caps, host returns error as the current max is below.
Increase max hw mode to 4 and mac phy cap to 8 to support cases
where we advertise more than hw 3 modes and more than 5 phy caps.
eg. SMM, DBS_or_SBS, AUX_EMLSR_SPLIT, AUX_EMLSR_SINGLE.

Change-Id: Idbc978a1a259d66e7d893d82f8becd6325019976
CRs-Fixed: 3599091
2023-08-31 11:01:30 -07:00
Edayilliam Jayadev
f2aaec4814 qcacmn: Cleanup assert in mgmt rx reo - Part 8
Cleanup asserts in management Rx reorder module.

Change-Id: Ia1bfbae1e1ee2b02459f34624e2284592eb02a9d
CRs-Fixed: 3593936
2023-08-29 15:06:23 -07:00
Edayilliam Jayadev
ed9d84abd6 qcacmn: Cleanup assert in mgmt rx reo - Part 7
Cleanup asserts in management Rx reorder module.

Change-Id: Ia7fcabf770d3b38f62f23b6848b50eb8e4f6827b
CRs-Fixed: 3593934
2023-08-29 15:06:12 -07:00
Edayilliam Jayadev
d6db6d2a66 qcacmn: Cleanup assert in mgmt rx reo - Part 5
Cleanup asserts in management Rx reorder module.

Change-Id: Idb304f6a61599f24f1dd8f3ecbffe8dbaae42d6b
CRs-Fixed: 3593932
2023-08-29 15:06:01 -07:00
Edayilliam Jayadev
b1439341ca qcacmn: Cleanup assert in mgmt rx reo - Part 4
Cleanup asserts in management Rx reorder module.

Change-Id: I37f13dc04356d20fe3fcce43ef8a0d48c8854e31
CRs-Fixed: 3593930
2023-08-29 15:05:50 -07:00
Edayilliam Jayadev
845c861380 qcacmn: Cleanup assert in mgmt rx reo - Part 3
Cleanup asserts in management Rx reorder module.

Change-Id: I18d5e47a13b097ce718282ad4283c01243aca87e
CRs-Fixed: 3593927
2023-08-29 15:05:40 -07:00
Edayilliam Jayadev
b6f1fd416a qcacmn: Cleanup assert in mgmt rx reo - Part 2
Cleanup asserts in management Rx reorder module.

Change-Id: I436ea5fb191c8df9c218fb97d967ee07b6a57ad6
CRs-Fixed: 3593926
2023-08-29 15:05:19 -07:00
Aditya Kodukula
16020acc91 qcacmn: Include structures having qdf_bitmap member
Currently kernel-doc script doesn't support qdf_bitmap
struct member. So, all structure which has qdf_bitmap
member are excluded.

Support for qdf_bitmap has been added to kernel-doc script.
So, include all structures which have qdf_bitmap.

Change-Id: I95095d458152a0285a24fba398b46effd94525db
CRs-Fixed: 3598814
2023-08-25 15:15:15 -07:00
Edayilliam Jayadev
8d3856c308 qcacmn: Handle snapshot sanity failure
Gracefully handle the scenario of snapshot sanity failure.

Change-Id: Icd6fcd83da8ffcfd41e254dc90a94b08ab264b37
CRs-Fixed: 3593921
2023-08-24 01:26:48 -07:00
Kiran Venkatappa
42e618a774 qcacmn: Add support to send TWT IE in assoc/probe rsp
Add support to send TWT IE in assoc/probe rsp to fulfill WFA requirement
FW sends TWT IE in mgmt rx event for probe req and assoc req. Send this
IE in probe rsp and assoc rsp. This change takes care of extracting TWT
IE in mgmt rx event.

Change-Id: I1a97eb58c03f76c7ced31349dc0e3b4a908ceda0
CRs-Fixed: 3585625
2023-08-22 19:23:56 -07:00
Rajeev Kumar
d2dec1752c qcacmn: add enter and exit debug logs for mgmt_txrx module
Add enter and exit debug logs for mgmt_txrx module to assist
in debugging timeout issues.

Change-Id: Iad28dca3fa749f803829cd7a2e052578a5c579e8
CRs-Fixed: 3584331
2023-08-17 09:43:12 -07:00
Kenvish Butani
ea4ddc65ed qcacmn: CP hooks to support MLO device Context Structure
Control Path hooks to create, attach, detach and destroy
DP MLO device context structure

Change-Id: Ib3fe459dfabb8b8971b92c0529e9df0093bf5342
CRs-Fixed: 3567004
2023-08-13 23:59:00 -07:00
Aasir Rasheed
6d13d93bc8 qcacmn: Add api to check if vdev is tdls
Currently we are defining tdls vdev check only
for 11BE MLO defined macro, However there is a
need to return false if 11BE MLO is not defined.

This change is to check if vdev is tdls.

Change-Id: Ic44c66fcc585f3d091d21d40c106913db29b0a1e
CRs-Fixed: 3586960
2023-08-13 23:58:38 -07:00
Manoj Ekbote
b9322f12bd qcacmn: Support for RF path selection
Includes changes:
1. Save frequency values from EXT and EXT2 events to psoc object
- wireless_modes, low/high 2 GHz chan and low/high 5 GHz chan from EXT event
- wireless_modes_ext, similar frequency range fields with _ext from EXT2
event. Frequency range fields with _ext are non-zero when a radio supports
overlapping frequency. Eg.Radio that supports 5 GHz full and 5 GHz high band will
have low/high 5 GHz fields populated with primary band values in EXT event and
low/high 5 GHz fields are populated in EXT2 event with secondary band
values. These values are stored in tgt info for later use.
2. Modify regulatory APIs to get and set the wireless modes in reg
component
3. Retrieve frequency fields from EXT2 event

Change-Id: I49ebcc7ee7b26bd115f37abc8cb5b6fa5a415eda
CRs-Fixed: 3576551
2023-08-11 01:24:54 -07:00
Pragaspathi Thilagaraj
cbefdcb9f0 qcacmn: Add support for WMI_ROAM_SYNCH_KEY_EVENTID
Add support to handle WMI_ROAM_SYNCH_KEY_EVENTID.
WMI_ROAM_SYNCH_KEY_EVENTID is received after roaming to 3 Link
MLO AP when standby link is supported.

Add changes to register handler function pointers and parse
the event.

Change-Id: Iee17560f9f1f3242ef512a550764a9c64319b67f
CRs-Fixed: 3571673
2023-08-10 14:42:56 -07:00
Srinivas Pitla
4251e4ac67 qcacmn: Add/Remove VDEV from MLD
This change adds APIs
1) remove VDEV from MLD
2) add VDEV to MLD

CRs-Fixed: 3579048
Change-Id: I5a81d7a50b0c3865c3ab914a3e10906e3010cb91
2023-08-08 06:10:53 -07:00
Shwetha G K
871160dafe qcacmn: Multi gain table support in waikiki AoA
Add multigain table support on Waikiki AoA feature

CRs-Fixed: 3560018
Change-Id: Ibd397bdaa603b49d3743f9f3fdd1329369b2eb09
2023-08-07 01:57:53 -07:00
Vinod Kumar Pirla
b41d140574 qcacmn: Enhancements for link switch disconnect
Introduce following for link switch disconnect:
   1) Disconnect source.
   2) Disconnect reason.
   3) Link switch BIT in CM_ID to identify link switch request

Don't notify link switch disconnect to initiate disconnect on
other connect VDEV of MLO mgr.

Don't notify userspace if the disconnect request is due to
link switch.

Don't notify netdev to stop queues on link switch disconnect.

Don't flush any pending disconnect/connect request on complete
of link switch disconnect request.

Don't attempt to serialize/deserialize disconnect command
if it is a link switch command ID due to either disconnect request,
disconnect complete or disconnect request flush.

Before start of link switch set the VDEV flag as MLO link VDEV
to leverage the disconnect/connect checks for link VDEV and
restore the flag at the end of link switch. This will impact
when link switch on assoc VDEV is received for which initially
the flag is not set.

Check status of link switch disconnect done API to either
proceed further in link switch or terminate the link switch.
If any userspace disconnect and link switch disconnect race
condition, always abort link switch disconnect and notify
failure to FW.

Change-Id: I6ec2a850d49f5ec6df2ec868c290f19203cd8c88
CRs-Fixed: 3556481
2023-08-02 04:54:41 -07:00
Aravind Kishore Sukla
db33c1e902 qcacmn: Downgrade connection to HE mode
STA is not able to connect to 11be non-WPA3 mode AP.

STA need to decide whether to connect in EHT or not at
the time of connection to AP based on security configuration.

Change-Id: I812f5c322d36ba44f63d4e27b5ec65a2846b3265
CRs-Fixed: 3404747
2023-08-01 20:30:03 -07:00
Vinod Kumar Pirla
af6cf93a07 qcacmn: FW Link switch request event handler and cnf resp
Once the FW sends the link switch request to host handle
the request from scheduler thread and send confirmation
back on completion of link switch process with status of
link switch (success/failure).

Add new serialization command type for link switch.

Introduce flags to get the current state of link switch
request, set the state to idle when no link switch in
progress or once the current link switch is completed.
Access to state is protected with MLO dev context lock.
Implement various helper API to:
    a) Transition link switch to next state.
    b) Get current state of link switch.
    c) To check whether any link switch is in progress.
    c) To check whether link switch is happening
       on assoc VDEV or not.

Introduce a new VDEV flag to suggest the VDEV is in
link switch process and also implement helper APIs to
set/get/clear this VDEV flag.
   a) The flag is set at start of link switch, once
      the FW request params are validated and before
      proceeding for link switch disconnect on VDEV.
   b) Clear the flag once the Link switch confirmation
      is sent to FW.

Validate the link switch request params:
     a) IEEE link ID's received.
     b) Check if new connection is part of MLO connection.
     c) Check if VDEV is MLO STA VDEV or not.
     d) Is VDEV in connected state or not, that means
        VDEV is not in transitioning state due to disconnect.
     e) Check if any link switch in progress on this MLD
     f) Current link ID of VDEV equals the FW params.

If validation is successful, serialize the link switch
command and in the serialization activation start the
actual link switch process.

Change-Id: Ie582650541054c8cf39aaa8316e86a7a40256a15
CRs-Fixed: 3556422
2023-07-31 19:38:48 -07:00
Pragaspathi Thilagaraj
3efd94838f qcacmn: Add crypto changes to support roam sync key event
Change few static crypto API's to global.
Add support to add new crypto entry based on passing the entire
entry structure itself.

Change-Id: Id2e0a46bb8b44a834d17d2a04b0dc28fc881b4e3
CRs-Fixed: 3571796
2023-07-31 19:37:59 -07:00
Shreedhar Parande
b4db727551 qcacmn: Add API for bridge vdev handing
Add APIs to populate, destroy and get bridge vdev count.

Also send bridge VDEV details in partner link info via
VDEV START command to target.

Change-Id: Iea155b09051b6724d07cf2b6052a07c1d3beb7e8
CRs-Fixed: 3567098
2023-07-30 22:45:14 -07:00
Uraj Sasan
2fce323cb6 qcacmn: API's to check topology and total links
1. APIs to check topology to see if the bridge vap/peer will be used.
2. API to check the max number of links supported.

Also check if we can have the primary and assoc links to be different
for WDS STATION. Based on the topology allow/block
connection to a particular AP.

CRs-Fixed: 3562149
Change-Id: Icf3b32036199f39b0d567ac88795dc07760ac1a5
2023-07-30 19:07:45 -07:00
Aasir Rasheed
8f15871d98 qcacmn: Use WLAN_MAX_ML_BSS_LINKS to check max number of links
Currently, We are using WLAN_MLO_MAX_VDEVS to check
max number of links, However with n link mlo we need
WLAN_MAX_ML_BSS_LINKS to check max number link.

Change-Id: Idd8a96ae80030c813bbdcebcdc4c76d2f93bea5d
CRs-Fixed: 3567342
2023-07-28 05:33:05 -07:00
Balaganapathy Palanisamy
9d048b9e4d qcacmn: Add MLO bridge vdev APIs
Add MLO bridge vdev APIs to support 4 chip
RDP STA associations.

Change-Id: Iea4c4e3301bc29d470144d5ae0964bb80f2ae68d
CRs-Fixed: 3560194
2023-07-25 03:19:04 -07:00
Arun Kumar Khandavalli
ca7419851a qcacmn: Invoke the objmgr destroy handlers in reverse order of creation
Invoke the object manager destroy handlers in reverse order of creation,
MLME creates the vdev 1st and all the handlers are invoked, during
destroy as well the vdev is deleted 1st and destroy handlers are invoked
later.

Any handlers dependent on the vdev object will have issue, so invoke
the handlers in the reverse order of creation and delete the vdev
last.

Change-Id: Ib15507464f78a436c96a0910e2af0307a3d711fb
CRs-Fixed: 3565425
2023-07-22 03:57:11 -07:00
Aasir Rasheed
cc94ae4317 qcacmn: Add crypto api's for individual link
Currently crypto module is using vdev to get
and delete the crypto key, However there is a need to get
and delete the crypto key based on psoc level.
The change is to use psoc handler for retrieving and deleting
the key.
Change-Id: I4fcf0fd5c7d9d5a579c092c43117594f7d9fc6a3
CRs-Fixed: 3561978
2023-07-21 16:50:50 -07:00
Aditya Kodukula
e382b8c781 qcacmn: Fix arguments of QDF_MAC_ADDR_REF to avoid compilation failure
Currently in driver while using QDF_MAC_ADDR_FMT to print mac
address, the mac address reference provided to QDF_MAC_ADDR_REF is
incorrect in some cases and it can cause compilation failure.
So, fix all such instances.

Change-Id: I31aa5abddc3c207b2fd2eb823ac2000f5ed3f0a6
CRs-Fixed: 3563985
2023-07-21 16:50:24 -07:00
Sai Pratyusha Magam
799450bbce qcacmn: Changes for 11az related security params
Changes for 11az related security params.

Change-Id: I28414f046ec7aa01152df605a6c4f99d243ff587
CRs-Fixed: 3560800
2023-07-20 19:19:13 -07:00
Shreedhar Parande
86ee88bd0d qcacmn: Send bridge peer flag to target
Add and send bridge peer flag to fw.

Change-Id: I15ab04a8646975ad4cc85a66b632f85e359a9158
CRs-Fixed: 3554509
2023-07-18 09:51:47 -07:00
Shreedhar Parande
8911b3d9eb qcacmn: Add new subtype for bridge VDEV
Define new subtype for bridge VDEV.
Add a flag in vdev objmgr to indicate bridge VDEV.

Change-Id: Icb7e2cc6673254183a7247f42fadd9bbb2ec4b00
CRs-Fixed: 3554509
2023-07-18 09:51:36 -07:00
Paul Zhang
e740ac98ec qcacmn: Add user_disable_eht flag in mlme_vdev
Add user_disable_eht flag in mlme_vdev structure and APIs to
set/get the config from user.

Change-Id: I77c1357919cd2245551b6dbdd120355bf5c1b3ff
CRs-Fixed: 3554951
2023-07-17 07:51:30 -07:00
Himanshu Batra
444fa57930 qcacmn: Add force flag support for PTQM migration
Add force flag support for PTQM migration.
This flag will be used to allow migration to vdevs which are not
allowed to be selected as primary by using the ini config.
This will be helpful in scenarios where if the current primary link is
going down and peer ptqm needs to be migrated but the partner links of
that mld are the user disabled links for ptqm.
Also add skip_pumac_cnt to mark a link to be skipped from being selected
as new primary

Change-Id: Ia8c7881f37d32211a732c5c7394c4a608099b62a
CRs-Fixed: 3548552
2023-07-14 01:12:15 -07:00
Aasir Rasheed
cf3f12281d qcacmn: Integrate hashing framework in crypto module
The current implementation of the crypto module utilizes
the vdev object for saving and retrieving crypto keys.
However, there is a need to store keys for individual
links in the n-link MLO. To address this requirement,
a proposal has been made to leverage the hashing
framework and store/retrieve keys from the PSoC level.
The change involves leveraging the hashing framework
to save and retrieve keys from the PSoC level.
Change-Id: I9c93545869b0c1d42b2c0e31bc672aa78573be2a
CRs-Fixed: 3549390
2023-07-14 01:12:03 -07:00
Aasir Rasheed
b39b050462 qcacmn: Introduce hashing framework support for crypto
This change incorporates support for the hashing framework,
enabling key storage for individual links in the n-link MLO.
The implementation includes the addition of new APIs
specifically designed to accommodate the crypto hashing
framework.

Change-Id: I9305c4a71b8970a8a6037d6d80f11c6139a77bd8
CRs-Fixed: 3498849
2023-07-14 01:11:52 -07:00
Edayilliam Jayadev
d06edf421b qcacmn: Handle out of order packet counters
Gracefully handle the scenario where the packet counter
of the current management frame is less than or equal to
the packet counter of the last management frame received
in the same link.

CRs-Fixed: 3525902
Change-Id: Iba7d2bd55fd8e969486439ef87a81c489658707c
2023-07-11 02:02:36 -07:00
Edayilliam Jayadev
8da0ec5f5a qcacmn: Handle zero duration management frames
Gracefully handle management frames with zero duration.

CRs-Fixed: 3525887
Change-Id: I60ef63f88b2c07d253679f54c9e9cb02d1d87860
2023-07-11 02:02:19 -07:00
Edayilliam Jayadev
dbcf99be3e qcacmn: Handle invalid reo params gracefully
Gracefully handle invalid reo parameters error.

CRs-Fixed: 3525856
Change-Id: I1bc18ed9224ea999bc792642dcb5081583cfa1f6
2023-07-11 02:01:27 -07:00
Edayilliam Jayadev
62d03ddb2c qcacmn: Add infrastructure to gracefully handle frames
Add infrastructure to gracefully handle frames in management
Rx reorder module.

Change-Id: I9d5302acfc020686b4c51b666fc7828dddf20ca7
CRs-Fixed: 3525838
2023-07-10 21:23:06 -07:00
Prasanna JS
0d36189af1 qcacmn: Add macro to check the phymode is EHT
Add macro to check the phymode is EHT when
WLAN_FEATURE_11BE not defined

Change-Id: If6ae8829c21d7cbed1740aa2f637f4b90dea1a3d
CRs-Fixed: 3546219
2023-07-05 17:19:02 -07:00
Aasir Rasheed
aa7c47fe95 qcacmn: Add crypto changes for code convergence
At present, the crypto module utilizes the wlan_crypto_comp_priv
structure to store crypto keys. However, there is a need to store
keys for individual links in n-link MLO. To address this requirement
it is proposed to store the key from the vdev level to the psoc level.
This change will allow the reuse of a common structure.

Change-Id: Idc0d8bb11a80b66c7ded5c930ec0560566398890
CRs-Fixed: 3527400
2023-06-23 15:47:23 -07:00
Vijay Raj
c9ffbec347 qcacmn: Remove redundant check in wlan_scan_start
In api wlan_scan_start(), redundant check for
scan_start_req is observed in some static analysis
tool.

Remove the redundant check in the ap
wlan_scan_start() as the check is present in the
api scm_scan_free_scan_request_mem

Change-Id: Ic320bb95253668310c5d738216daba62ba2f4b3f
CRs-Fixed: 3528505
2023-06-22 09:10:44 -07:00
Pragaspathi Thilagaraj
2eb6a33153 qcacmn: Avoid unlink bss in vdev INIT state
When some faulty AP changes the SSID from hidden to non-hidden
or vice versa, then unlink bss and update bss to kernel happens
multiple times. Then when disconnection happens, it causes
abnormal behavior since the bss entry looks corrupted.

So avoid unlink bss in INIT state to avoid corruption
since cfg80211_disconnected() calls
cfg80211_wdev_release_bsses(wdev) already.

Change-Id: If07d1b8fa92057c9320c9ab243b9cbef30ac21ba
CRs-Fixed: 3516816
2023-06-16 18:24:35 -07:00
Venkateswara Naralasetty
2b0b767e60 qcacmn: Add a new enum for SW2RXDMA_LINK_RING
Add a new enum for SW2RXDMA_LINK_RING which is used to
handover the links to HW in monitor mode for wcn6450.

Change-Id: I0a3cd19f9891ae323742fd8bebfca5ff20b14b20
CRs-Fixed: 3525001
2023-06-16 11:33:32 -07:00
Paul Zhang
1460d656c7 qcacmn: Add epcs_enable flag in mlme_vdev structure
Add epcs_enable flag in mlme_vdev structure and APIs to
set/get the config from user.

Change-Id: I490ebf1b41c095478160109339355df421ebe42c
CRs-Fixed: 3522731
2023-06-15 16:32:32 -07:00
Aditya Kodukula
58e80d75bd qcacmn: Fix typographical errors
Fix typographical errors spanned over various files in cmn.

Change-Id: I9fcf3b7f9bb7d7dd406e6576a60aa4eb783c9ceb
CRs-Fixed: 3529628
2023-06-14 22:02:33 -07:00