Commit Graph

131 Commits

Author SHA1 Message Date
Vinod Kumar Pirla
f3d3f64f12 qcacmn: Always update OSIF/HDD connect info
Driver tries to fetch BSS info from kernel to update
connect results and at the same time updates HDD/OSIF
of the current link's BSSID and link ID.
OSIF/HDD will not be updated, if BSS info is not found
in kernel. This will leave MLO manager and OSIF/HDD to
go out-of-sync.

This can later lead to link switch failure as HDD is
not having all link's information.

To keep MLO manager and OSIF/HDD in sync, always update
OSIF/HDD even if BSS info fetch from kernel fails.

Change-Id: Ie2e67317256cc2d9edaa7663d3902b63a45cbaaa
CRs-Fixed: 3729709
2024-03-07 00:27:18 -08:00
Aasir Rasheed
924e277dd2 qcacmn: update check for informing partner bssid to kernel
Currently, Host driver is updating partner bssid to kernel
based on number of link. In some cases number of link may be zero
leading to not updating partner link bssid to kernel.

This change is to eliminate number of link check for updating
partner link BSSID to kernel.

Change-Id: I2e2704aeaea0db41c4d82792808cc8765290cc7c
CRs-Fixed: 3707662
2024-01-21 08:55:39 -08:00
Pragaspathi Thilagaraj
7ddc1542ad qcacmn: Don't send replay counter value for all FT AKMs
In roam_auth vendor event sent to userspace after roaming, the
QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_KEY_REPLAY_CTR attribute should
not be filled for any of the FT AKMs.
But currently its filled for below FT AKMs:
WLAN_CRYPTO_KEY_MGMT_FT_PSK
WLAN_CRYPTO_KEY_MGMT_FT_FILS_SHA256
WLAN_CRYPTO_KEY_MGMT_FT_FILS_SHA384
WLAN_CRYPTO_KEY_MGMT_FT_PSK_SHA384

This causes the GTK M1 frame received at the supplicant
to be dropped since EAPOL Key replay counter didn't increase
for PSK connection.
So disconnection occurs due to GTK handshake failure.

So don't fill the key replay counter attribute for all the
FT AKMs.

CRs-Fixed: 3674872
Change-Id: I34f88a8c8e8259a701b553284d492fe31597bea3
2024-01-02 16:36:42 -08:00
Shwetha G K
b62dd89f57 qcacmn: Handle compilation for 6.5-rc3 kernel backport
Changes to fix the compilation error seen with kernel
version 6.5-rc3 backports. WEP KEYS support is removed
in this kernel, hence handle the same.

CRs-Fixed: 3623998
Change-Id: Ibf8423351eb4645f8d8a4a94bbe249fe96971287
2023-10-27 07:37:59 -07:00
Shashikala Prabhu
c57184e211 qcacmn: Fix the kernel warning seen in ch_switch_notify()
A warning seen in cfg80211_ch_switch_notify() for the kernel version
5.4.213. The reason is cfg80211_update_current_bss() is called for
kernel version 5.4.0.

To fix this issue, call cfg80211_update_current_bss() for the kernel
version greater than 5.4.0 and less than 6.0.0 kernel.

Change-Id: Ic131bfe3661556b836df6ba7566e8e9abc4deba5
CRs-Fixed: 3637354
2023-10-13 17:37:39 -07:00
Shashikala Prabhu
8713c007bd qcacmn: Update the current bss for non-assoc link
wdev->current_bss is not updated for a non-assoc link STA vdevs.
As a result, a WARN_ON error is seen in cfg80211_ch_switch_notify()
when it’s called for non-assoc link.

To resolve this, update the wdev->current_bss for non-assoc links
as part of connection and clean up this as part of disconnection.

Change-Id: I5020200fb927dd72d2e1bf0ed73e7a5750897619
CRs-Fixed: 3618438
2023-10-07 00:01:11 -07:00
Pragaspathi Thilagaraj
95caa8459f qcacmn: Update OSIF link info for assoc vdev after roaming
Once roaming is complete, the osif link info for Assoc vdev
is not updated, resulting in link switch on assoc vdev failure
after roaming.

Update OSIF link info for assoc vdev after roaming. Also clear
the OSIF link info upon roaming from multi link AP to single
link AP

Change-Id: I7a05d61011f6ac39e7107c4d2270aa3025d79142
CRs-Fixed: 3618994
2023-09-29 16:31:02 -07:00
Vinod Kumar Pirla
b1f923bc46 qcacmn: New substate for VDEV in INIT due to link switch
If connection fails, CM state will be moved to INIT state and
kernel will not be made aware of this connection failure in case
of link switch and treats the interface as if it is connected.
In such case kernel and host will be out of sync and because of
this if any disconnect request is received host will drop them
immediately as VDEV is in INIT state.

Introduce new substate of VDEV for INIT state. If VDEV moves to
INIT state either due to link switch disconnect or link switch
connect failure, instead of being in INIT-IDLE state move VDEV
to INIT-IDLE_DUE_TO_LINK_SWITCH. If any disconnect request is
received in INIT-IDLE_DUE_TO_LINK_SWITCH state then instead of
dropping the request forcefully queue the disconnect and proceed
for disconnect to notify kernel.

Drop link switch connect will be dropped if VDEV is not in
INIT-IDLE_DUE_TO_LINK_SWITCH state.

Change-Id: Ifb6b72f0720b95cf862e9a4ff756b6577a3e45fd
CRs-Fixed: 3617919
2023-09-27 13:09:42 -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
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
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
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
Jianmin Zhu
63ab6adb20 qcacmn: Fix data stall after roam from mlo to legacy
When roam from mlo to slo/legacy/owe, mlo_cleanup_link is called to
disconnect link vdev, mlme_cm_osif_disconnect_start_ind is called,
WLAN_STOP_ALL_NETIF_QUEUE_N_CARRIER is sent, then Tx queue is disabled,
all tx pkts can't be sent.

To fix it, when disconnect link vdev for roaming to slo/legacy/owe,
don't send WLAN_STOP_ALL_NETIF_QUEUE_N_CARRIER by checking special req
source CM_MLO_ROAM_INTERNAL_DISCONNECT.

Change-Id: Iacfc2f82069b2c21951af97c23c60ea99865a80d
CRs-Fixed: 3600747
2023-08-31 18:36:39 -07:00
Pragaspathi Thilagaraj
7f18f6e441 qcacmn: Update self link address also after roaming
When updating the AP link address and channel info after
roaming, update the self link address also to the link switch
context on each vdev. This information will be fetched while
sending roam + auth event to userspace after roaming.

Change-Id: I363a5ee8d65bb21d84c15879996369f4e397f2a6
CRs-Fixed: 3589401
2023-08-30 01:37:59 -07:00
Vinod Kumar Pirla
9e3a7ecb78 qcacmn: Allow disconnect req in INIT state for link switch
VDEV is moved to INIT state as part of link switch disconnect,
before set MAC address response is received, any disconnect
request on this VDEV will not be handled as VDEV is in INIT
state, if link switch is in progress then it will abort link
switch and starts link switch dequeue process.

If the new disconnect request is from userspace it will
increment the OSIF ops, but if link switch is on assoc VDEV
OSIF is notified to restore the adapter deflink as part of
link switch complete where it wait for all OSIF ops to
complete. This is a deadlock case where driver is waiting
for ops completion on same thread where ops is initiated.

To fix this issue, do not handle link switch dequeue on the
same thread, instead move the link switch state to abort
and when actual link switch thread comes it will flush from
serialization.

If userspace disconnect is not queued as VDEV is in INIT
state due to link switch, kernel won't be notified about
the disconnect as this notification is only done on assoc
VDEV and any further connect requests from supplicant gets
dropped in kernel saying already connected and supplicant
will immediately try disconnect which driver will again
drop as VDEV is in INIT state. To avoid this kernel-driver
out of sync, forcefully move VDEV to disconnecting state
and queue the disconnect request.

Change-Id: I116859601ebba21d44797e74e160b56532ef833c
CRs-Fixed: 3588936
2023-08-21 15:05:50 -07:00
Shiva Krishna Pittala
f796368068 qcacmn: Remove the assumption of assoc link's presence post connection
With MLO link removal, AP can remove a link that happens to be the assoc
link for a given Non-AP MLD. So far, the Non-AP MLD has been using the
assoc link to interact with other layers and make various decisions.
Change those behaviors on a case-by-case basis.

CRs-Fixed: 3577559
Change-Id: Iaa001bdd2571bce424a953caa3197a99a6f84180
2023-08-14 18:57:08 -07:00
Pragaspathi Thilagaraj
5a0e761ce4 qcacmn: Reset Roam state for link vdev after link switch
After link switch, the assoc vdev and link vdev could change.
So once the link switch is complete, change the roam state to
DEINIT for the link vdevs

Change-Id: I3e583fc1cb5be8d17d8680dab96461b058740c0a
CRs-Fixed: 3581730
2023-08-11 01:24:31 -07:00
Uraj Sasan
082bbef13c qcacmn: WDS STATION send bridge partner details
Send bridge partner details during peer create and peer
assoc. The partner of bridge peer are saved which are used later
during bridge peer create and assoc. Also add bridge peer partner
details while sending peer create and assoc on actual links.

CRs-Fixed: 3574656
Change-Id: I755614a131f6552ac28377d2c7648db4fd87b8df
2023-08-10 18:22:50 -07:00
Aditya Kodukula
102d3add36 qcacmn: Update link's self_mac address properly
After successful connection with an AP, driver fills the struct
cfg80211_connect_resp_params and sends it to the kernel.
For an MLO connection, the link's mac address field in the struct
is updated by AP's mac address instead of link's self_mac address.

So, update the kernel struct properly, to avoid issues.

Change-Id: I4d1ea4ee3fe5272dd4e08c0edd22b1df5c7999a3
CRs-Fixed: 3579820
2023-08-04 12:35:24 -07:00
Vinod Kumar Pirla
35ea97c560 qcacmn: Enhancements for link switch connect
Introduce following for link switch disconnect:
    1) Connect request source.
    2) Connect request reason.

If the set MAC address response for new link is successful, post
connection on new link and transition the link switch state to
connecting. If the status of connection is successful, update
the state to link switch complete or else directly go for
deserializing link switch command and posting response to FW.

Based on the final state of link switch at the time of sending
FW response, send the appropirate status of link switch and reset
the state of link switch to idle post FW notify.

Don't unlink BSS incase of failure in connection.

Don't indicate connect results to userspace.

As we are already in serialization due to link switch,
don't serialize/deserialize connection command if it
is due to link switch.

Incase of race condition between link switch connect and
userspace connect/disconnect always abort link switch connect.

Change-Id: Ie350b52021c36802b82d6cb5f6f441fe1bd10458
CRs-Fixed: 3556529
2023-08-02 04:55:17 -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
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
Vinod Kumar Pirla
160f06923c qcacmn: Call OSIF callback to update BSS info on each link
Notify OSIF about each connected link once assoc VDEV connection
is completed, call the ops callback registered while filling
kernel data structure for each link.

Earlier post connection each VDEV's OSIF callback is called to notify
individually, but this leaves the OSIF unaware of standby link details
as the standby link doesn't have VDEV associated with it.

Change-Id: I027b91d02bdc4412400a7e66f11911da149e672b
CRs-Fixed: 3556378
2023-07-26 10:53:07 -07:00
Deeksha Gupta
d47c717a77 qcacmn: Fill connect response MLO params from mlo_mgr
After mlo connection is completed driver send the connect resp event
to kernel. As of now, driver gets the ML param info from the assoc_rsp IE.
For stand_by link, driver don't have vdev. Due to this, driver can't send the
stand_by info to kernel.

Fix is, instead of assoc_rsp IE driver will use mlo_mgr to get the links
information.

Change-Id: I8da762bed94de4ad2b024183c09b3d0a0f1b7ca4
CRs-Fixed: 3530712
2023-07-26 04:40:24 -07:00
Vijay Patil
c1d9d64d61 qcacmn: Add change to replace free connect request API
In current scenario osif_cm_free_connect_req() and mlo_free_connect_ies()
used to free up connect request and its sub memory.
Similarly cm_free_connect_req() and cm_free_connect_req_param() also
free up the connect request and its sub memory.

So replace osif_cm_free_connect_req() with ucfg_cm_free_connect_req(),
mlo_free_connect_ies() and qdf_mem_free() with wlan_cm_free_connect_req()
and  mlo_free_connect_ies() with wlan_cm_free_connect_req_param().

Change-Id: Ie62603652dd77ae5ae9f7b7085d4b9bb257eaf53
CRs-Fixed: 3554234
2023-07-12 07:49:19 -07:00
Sri Vidya Gunturi
138833a0eb qcacmn: Masking MLO APIs for the non-MLDs
Masking the MLO API, mlo_setup_get_total_socs
using ic_eht_target check for non-MLDs in cmn_dev.

CRs-Fixed: 3551482
Change-Id: I8d585f534146f58beee605b2165bb0c51fc5bdb9
2023-07-08 11:11:44 -07:00
Amruta Kulkarni
82d71c7059 qcacmn: Send Link reconfig event on assoc vdev
Host driver is currently indicating link reconfig
event on link vdev.

Change is to indicate link reconfig on the primary vdev
affiliated with wlan0.

Change-Id: I9955d98bcd52554adf22f838bfbd2263418432d1
CRs-Fixed: 3535940
2023-06-30 20:28:45 -07:00
Krupali Dhanvijay
e60150599d qcacmn: Add support to reset CPU freq in HO failure
CPU min frequency is boosted to maximum once roam start is received

Add support to reset CPU frequency in case of HO failure.

Change-Id: I137f78e3a307be136bcc27760be3d91cb6c1868b
CRs-Fixed: 3522954
2023-06-26 03:21:53 -07:00
Liangwei Dong
6f9b6db8f8 qcacmn: Add northbound notification for link reconfig
When link removal TBTT expires, indicate the link removal
info to upper layer by vendor event.

Change-Id: Idf882cb22ccbd1c8b4ad6f03c6d27980cdbaef50
CRs-Fixed: 3481313
2023-06-02 16:49:42 -07:00
Krupali Dhanvijay
7a3946c538 qcacmn: Add support to boost CPU freq during roam
To enable the tx queues faster during roam, boost the
CPU min frequencies to maximum once roam start is received,
and reset them once queues roam sync is complete or
roaming is aborted.
This change enables such support for lithium and Clarence targets.

Change-Id: I49d2f50f1c0142e7db1c981276bd08b75159b6d3
CRs-Fixed: 3487573
2023-05-18 09:37:07 -07:00
Himanshu Batra
23918826de qcacmn: Correct BSSID in case of correct resp failure
Correct BSSID in case of correct resp failure

Change-Id: I515d22c8e2432915e862c2e484185794c782e94c
CRs-Fixed: 3479029
2023-05-15 10:06:27 -07:00
abhinav kumar
df618544a3 qcacmn: Process get_cu_for_each_subbw driver command
1. Read the new service capability:
WMI_SERVICE_CCA_BUSY_INFO_FOREACH_20 MHz: Via this host knows
whether FW supports reporting of CCA busy info for each 20 MHz
subband of wideband scan channel or not.

WMI_SERVICE_VDEV_PARAM_CHWIDTH_WITH_NOTIFY_SUPPORT: Via this
host knows whether FW supports VDEV param channel width switch
with OMN/OMI notification or not

2. Register osif callback to send scan done indication to upper
layer

3. Add 2 new scan flags pause_home_channel and
report_cca_busy_for_each_20 MHz

Change-Id: I63d561a3c5f8e49a3ca42d956e6b630c63edeaf4
CRs-Fixed: 3460901
2023-05-03 04:58:20 -07:00
Abhishek Singh
b51c893b65 qcacmn: Optimize connect/roam and disconnect complete logs
Optimize connect/roam and disconnect complete logs.

Change-Id: I9e0af49ce27c245b6e88befbe113a472b3b455f9
CRs-Fixed: 3470874
2023-04-20 00:15:39 -07:00
Krupali Dhanvijay
8ca91ab2bf qcacmn: Send Driver disconnect internal reason code to user space
Send the driver disconnect internal reason code as an event to user space
using QCA_NL80211_VENDOR_SUBCMD_DRIVER_DISCONNECT_REASON vendor command.

Change-Id: I0027675b809b94628b6c0c4b8e8286e38fa9f47d
CRs-Fixed: 3371398
2023-04-03 01:35:59 -07:00
Uraj Sasan
ab8cf64ef0 qcacmn: Connect if pri_umac & assoc link are same
Some devices in WDS station mode have limitation when connected
in 3 LINK MLD association where the Primary umac selected and assoc
link should be same. Make sure to have a sanity check before
going for association in such cases.

If the primary umac and assoc links are set to be different then
the connection will be rejected.

Change-Id: If56461a140d4685ba279b1babe04709d919d1650
CRs-Fixed: 3443733
2023-03-30 23:15:34 -07:00
Surya Prakash Sivaraj
88804f2cfc qcacmn: Add support for AKM25
Add support for FT-SAE-EXT-KEY AKM.

Change-Id: I832b414b31d42113eec6d099ba4c62e76dfe6cb1
CRs-Fixed: 3406626
2023-03-27 11:21:18 -07:00
Srinivas Dasari
5ec7c5416d qcacmn: Don't unlink the bss in disconnect/connect failure handler
Currently, bss is unlinked from kernel scan db in below cases,
1. Disconnect
2. Connect failure
3. AP moves to hidden SSID mode from normal mode

bss is unlinked in above 1 and 2 cases (i.e. disconnect and
connect failure) to avoid continuous connect failures when
userspace attempts connect to the same AP without issuing a
fresh scan, which may result in blacklisting the AP. But
framework/wpa_supplicant can take care of this now by making
sure that connect is attempted only if scan result is from
a fresh scan.
Unlinking the bss may lead to inconsistency in some scenarios
and found that disconnect is most common scenario. So, don't
call __wlan_cfg80211_unlink_bss_list() in case 1 and 2 to
avoid unlinking.

Change-Id: I2d3af5fcc22360a5ead0e148d623194cb815f882
CRs-Fixed: 3433127
2023-03-23 04:47:19 -07:00
Sai Pavan Akhil Remella
5d62197747 qcacmn: Send vendor attributes with the Roam stats
As part of commit I7a08635a7912cbd940d90a2d62433296740ad913
a vendor command is added to enable roam stats event.
This change registers callback to send the added vendor
command event to userspace.

Change-Id: I6dc3f8357ace5bb3fa41b4aa116652a91b9fd924
CRs-Fixed: 3427397
2023-03-14 10:37:42 -07:00
abhinav kumar
4440f2b36a qcacmn: Don't send roam indication to kernel if bss is NULL
Currently, before sending a roamed indication to the kernel,
the host calls kernel APIs ieee80211_get_channel and
cfg80211_get_bss to confirm whether the roamed channel and
BSSID are present in the kernel scan cache or not.

In case if kernel returns the BSS pointer as NULL, Host calls
osif_populate_mlo_info_for_link API and uses BSS pointer
to populate MLO info for the link(s), this results in a
NULL pointer dereference in the host.

Fix is to avoid sending roam done indication to kernel/
userspace if kernel returns BSS pointer as NULL and issue
disconnection with reason REASON_UNSPEC_FAILURE.

Change-Id: I28f51369115a7ef20105073e4fcf6ee912c068b2
CRs-Fixed: 3404248
2023-02-25 01:29:42 -08:00
Jeff Johnson
7bc9ad4d74 qcacmn: Fix OSIF Documentation
The kernel-doc script identified some documentation issues in the
os_if folder, so fix most of them. However do not modify the file
qca_vendor.h since most of the issues there are present upstream, and
the downstream file should match the upstream file.

Change-Id: I71948fb497c1ea2d1dd46308277d99beefde18b8
CRs-Fixed: 3390428
2023-01-31 17:09:48 -08:00
Uraj Sasan
0aacfaccd9 qcacmn: Allow connection with upto 3 links
Use macro which indicates maximum number of links we can support
for a given MLO association. Currently this is used for 3 Link
association in which the Association request will have per STA
profile of two other partner links.

Change-Id: If0927367110d58f8e42b40bb987c5b7497b8d551
CRs-Fixed: 3381043
2023-01-25 13:24:41 -08:00
Amruta Kulkarni
2cd3406a9a qcacmn: Add handling 1x roaming case
- Add osif callback api to get scan ie params
- Made few mlo manager api's public

CRs-Fixed: 3288038
Change-Id: I15a764682b8164eb1b66adeff44d7e344f2563c3
2023-01-24 09:41:08 -08:00
Surya Prakash Sivaraj
06469b874f qcacmn: Allocate TLV for KCK based on KCK length
For roam auth vendor event to userspace, currently
16bytes of static memory is allocated for KCK. However,
latest security AKMs have higher KCK length.

Allocate the TLV based on the KCK length received from
firmware.

Change-Id: I2a869989a263f141a9b24a1fb9a97eb34889ac19
CRs-Fixed: 3346092
2022-12-28 00:47:44 -08:00
Himanshu Batra
5ea3ebf775 qcacmn: Change to handle ML reconfig link delete
Change to handle ML reconfig link delete

Change-Id: Iaf743a1a61534f2f4bb12be7fccad48e67b81c12
CRs-Fixed: 3346537
2022-12-27 11:08:54 -08:00
Amruta Kulkarni
b6ca1b3ff2 qcacmn: Add null check in osif roam api
Add null check in osif_roam_auth_mlo_links api.

Change-Id: Ia3290fe3b51d8913f212c732a6c53b0a159adfc3
CRs-Fixed: 3337588
2022-11-22 20:34:32 -08:00
Linux Build Service Account
b32b979e35 Merge "qcacmn: Add changes to support link_id param in cfg80211_disconnected" 2022-11-20 06:53:45 -08:00
Himanshu Batra
80db72a890 qcacmn: Add changes to support link_id param in cfg80211_disconnected
As part of MLO dynamic link deletion handling, cfg80211_disconnected is
taking link_id as an argument.
Add changes to support link_id param in cfg80211_disconnected.

Change-Id: Ia312b5e5768ba9abb11675839e912d4819a2fa86
CRs-Fixed: 3315102
2022-11-19 20:11:05 -08:00
Mohammed Ahmed
b36ae3c3aa qcacmn: add psoc null check before passing to wlan_objmgr_get_peer_by_mac
Current code directly passes the result of wlan_vdev_get_psoc(vdev) to
wlan_objmgr_get_peer_by_mac, without null pointer checking, which can
result in null pointer dereferencing.
To fix this issue, add checking of the psoc pointer before passing to
wlan_objmgr_get_peer_by_mac.

Change-Id: Ica5ebbc448a6da8b1e7c846f05773d95f995eaca
CRs-Fixed: 3327337
2022-11-10 16:43:43 -08:00
David Oladunjoye
25cb050e32 qcacmn: Add lock to Set/clear WLAN_VDEV_FEXT2_MLO_STA_LINK flag
Currently, this MLO flag is being set/clear without regard for
concurrency. We need to lock the vdev when updating these values to
prevent race condition.

Change-Id: Ied90d62f10f6f12a35eeac3060dd0fae7d0c6cfd
CRs-Fixed: 3305558
2022-10-21 21:31:17 -07:00