qcacmn: Add support to delete all pasn peers
Add support to delete all pasn peers Change-Id: I2c3d95cb8994693d8944d69624d2db0992f2f03d CRs-Fixed: 3158523
This commit is contained in:

committad av
Madan Koyyalamudi

förälder
b7fa703306
incheckning
f0cac26bbb
@@ -134,6 +134,48 @@ wifi_pos_send_pasn_auth_status(struct wlan_objmgr_psoc *psoc,
|
||||
QDF_STATUS
|
||||
wifi_pos_send_pasn_peer_deauth(struct wlan_objmgr_psoc *psoc,
|
||||
struct qdf_mac_addr *peer_mac);
|
||||
|
||||
/**
|
||||
* wifi_pos_get_pasn_peer_count() - Wifi POS get total pasn peer count
|
||||
* @vdev: Pointer to vdev object
|
||||
*
|
||||
* Return: Total number of pasn peers
|
||||
*/
|
||||
uint8_t
|
||||
wifi_pos_get_pasn_peer_count(struct wlan_objmgr_vdev *vdev);
|
||||
|
||||
/**
|
||||
* wifi_pos_update_pasn_peer_count() - Increment pasn peer count
|
||||
* @vdev: Pointer to vdev object
|
||||
* @is_increment: flag to indicate if peer count needs to be incremented
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
void wifi_pos_update_pasn_peer_count(struct wlan_objmgr_vdev *vdev,
|
||||
bool is_increment);
|
||||
|
||||
/**
|
||||
* wifi_pos_vdev_delete_all_ranging_peers() - Delete all ranging peers
|
||||
* associated with given vdev id
|
||||
* @psoc: Psoc pointer
|
||||
* @vdev_id: vdev id
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
QDF_STATUS
|
||||
wifi_pos_vdev_delete_all_ranging_peers(struct wlan_objmgr_vdev *vdev);
|
||||
|
||||
/**
|
||||
* wifi_pos_vdev_delete_all_ranging_peers_rsp() - Delete all vdev peers response
|
||||
* handler
|
||||
* @psoc: Psoc pointer
|
||||
* @vdev_id: vdev id
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
QDF_STATUS
|
||||
wifi_pos_vdev_delete_all_ranging_peers_rsp(struct wlan_objmgr_psoc *psoc,
|
||||
uint8_t vdev_id);
|
||||
#else
|
||||
static inline
|
||||
QDF_STATUS wifi_pos_handle_ranging_peer_create(struct wlan_objmgr_psoc *psoc,
|
||||
@@ -179,5 +221,22 @@ wifi_pos_send_pasn_peer_deauth(struct wlan_objmgr_psoc *psoc,
|
||||
{
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
static inline void
|
||||
wifi_pos_update_pasn_peer_count(struct wlan_objmgr_vdev *vdev,
|
||||
bool is_increment)
|
||||
{}
|
||||
|
||||
static inline uint8_t
|
||||
wifi_pos_get_pasn_peer_count(struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline QDF_STATUS
|
||||
wifi_pos_vdev_delete_all_ranging_peers(struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
#endif /* WIFI_POS_CONVERGED && WLAN_FEATURE_RTT_11AZ_SUPPORT */
|
||||
#endif /* _WIFI_POS_PASN_API_H_ */
|
||||
|
@@ -104,9 +104,14 @@ struct wifi_pos_11az_context {
|
||||
/**
|
||||
* struct wifi_pos_vdev_priv_obj - Wifi Pos module vdev private object
|
||||
* @pasn_context: 11az security peers context.
|
||||
* @num_pasn_peers: Total number of PASN peers
|
||||
* @is_delete_all_pasn_peer_in_progress: Delete all the VDEV PASN peers in
|
||||
* progress
|
||||
*/
|
||||
struct wifi_pos_vdev_priv_obj {
|
||||
struct wifi_pos_11az_context pasn_context;
|
||||
uint8_t num_pasn_peers;
|
||||
bool is_delete_all_pasn_peer_in_progress;
|
||||
};
|
||||
|
||||
/**
|
||||
|
94
umac/wifi_pos/inc/wifi_pos_ucfg_i.h
Normal file
94
umac/wifi_pos/inc/wifi_pos_ucfg_i.h
Normal file
@@ -0,0 +1,94 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
* above copyright notice and this permission notice appear in all
|
||||
* copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
|
||||
* WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
|
||||
* AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
|
||||
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
|
||||
* PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/**
|
||||
* DOC: wifi_pos_ucfg_i.h
|
||||
* This file prototyps the important functions pertinent to wifi positioning
|
||||
* component.
|
||||
*/
|
||||
|
||||
#ifndef _WIFI_POS_UCFG_H_
|
||||
#define _WIFI_POS_UCFG_H_
|
||||
|
||||
#include "qdf_types.h"
|
||||
#include "qdf_status.h"
|
||||
#include "os_if_wifi_pos_utils.h"
|
||||
#include "wifi_pos_pasn_api.h"
|
||||
#include "wifi_pos_api.h"
|
||||
|
||||
struct wlan_objmgr_psoc;
|
||||
struct wifi_pos_req_msg;
|
||||
|
||||
/**
|
||||
* ucfg_wifi_pos_process_req: ucfg API to be called from HDD/OS_IF to process a
|
||||
* wifi_pos request from userspace
|
||||
* @psoc: pointer to psoc object
|
||||
* @req: wifi_pos request msg
|
||||
* @send_rsp_cb: callback pointer required to send msg to userspace
|
||||
*
|
||||
* Return: status of operation
|
||||
*/
|
||||
QDF_STATUS ucfg_wifi_pos_process_req(struct wlan_objmgr_psoc *psoc,
|
||||
struct wifi_pos_req_msg *req,
|
||||
wifi_pos_send_rsp_handler send_rsp_cb);
|
||||
|
||||
#ifdef WIFI_POS_CONVERGED
|
||||
/**
|
||||
* ucfg_wifi_pos_register_osif_callbacks() - Register WIFI pos module OSIF
|
||||
* callbacks
|
||||
* @psoc: Pointer to PSOC object
|
||||
* @osif_ops: Pointer to OSIF callbacks
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
static inline QDF_STATUS
|
||||
ucfg_wifi_pos_register_osif_callbacks(struct wlan_objmgr_psoc *psoc,
|
||||
struct wifi_pos_osif_ops *osif_ops)
|
||||
{
|
||||
return wifi_pos_register_osif_callbacks(psoc, osif_ops);
|
||||
}
|
||||
|
||||
/**
|
||||
* ucfg_wifi_pos_deregister_osif_callbacks() - De-Register WIFI pos module OSIF
|
||||
* callbacks
|
||||
* @psoc: Pointer to PSOC object
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
static inline QDF_STATUS
|
||||
ucfg_wifi_pos_deregister_osif_callbacks(struct wlan_objmgr_psoc *psoc)
|
||||
{
|
||||
return wifi_pos_register_osif_callbacks(psoc, NULL);
|
||||
}
|
||||
#else
|
||||
static inline QDF_STATUS
|
||||
ucfg_wifi_pos_deregister_osif_callbacks(struct wlan_objmgr_psoc *psoc)
|
||||
{
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
#endif /* WIFI_POS_CONVERGED */
|
||||
|
||||
#if defined(WIFI_POS_CONVERGED) && defined(WLAN_FEATURE_RTT_11AZ_SUPPORT)
|
||||
static inline bool
|
||||
ucfg_wifi_pos_is_ltf_keyseed_required_for_peer(struct wlan_objmgr_peer *peer)
|
||||
{
|
||||
return wifi_pos_is_ltf_keyseed_required_for_peer(peer);
|
||||
}
|
||||
#endif
|
||||
#endif /* _WIFI_POS_UCFG_H_ */
|
@@ -220,6 +220,7 @@ typedef void (*wifi_pos_send_rsp_handler)(struct wlan_objmgr_psoc *, uint32_t,
|
||||
* struct wifi_pos_legacy_ops - wifi pos module legacy callbacks
|
||||
* @pasn_peer_create_cb: PASN peer create callback
|
||||
* @pasn_peer_delete_cb: PASN peer delete callback
|
||||
* @pasn_vdev_delete_resume_cb: PASN resume vdev delete callback
|
||||
*/
|
||||
struct wifi_pos_legacy_ops {
|
||||
QDF_STATUS (*pasn_peer_create_cb)(struct wlan_objmgr_psoc *psoc,
|
||||
@@ -229,6 +230,7 @@ struct wifi_pos_legacy_ops {
|
||||
struct qdf_mac_addr *peer_addr,
|
||||
uint8_t vdev_id,
|
||||
bool no_fw_peer_delete);
|
||||
QDF_STATUS (*pasn_vdev_delete_resume_cb)(struct wlan_objmgr_vdev *vdev);
|
||||
};
|
||||
|
||||
/**
|
||||
|
Referens i nytt ärende
Block a user