diff --git a/umac/cmn_services/crypto/inc/wlan_crypto_global_api.h b/umac/cmn_services/crypto/inc/wlan_crypto_global_api.h index 2a19b837a0..387d4d2d92 100644 --- a/umac/cmn_services/crypto/inc/wlan_crypto_global_api.h +++ b/umac/cmn_services/crypto/inc/wlan_crypto_global_api.h @@ -926,6 +926,16 @@ QDF_STATUS wlan_crypto_set_key_req(struct wlan_objmgr_vdev *vdev, * Return: None */ void wlan_crypto_free_vdev_key(struct wlan_objmgr_vdev *vdev); + +/** + * wlan_crypto_reset_vdev_params - Reset params for vdev + * @vdev: vdev object + * + * This function reset params stored in vdev crypto object. + * + * Return: None + */ +void wlan_crypto_reset_vdev_params(struct wlan_objmgr_vdev *vdev); #else static inline void wlan_crypto_update_set_key_peer( struct wlan_objmgr_vdev *vdev, @@ -959,6 +969,10 @@ QDF_STATUS wlan_crypto_set_key_req(struct wlan_objmgr_vdev *vdev, static inline void wlan_crypto_free_vdev_key(struct wlan_objmgr_vdev *vdev) { } + +static inline void wlan_crypto_reset_vdev_prarams(struct wlan_objmgr_vdev *vdev) +{ +} #endif /* CRYPTO_SET_KEY_CONVERGED */ /** diff --git a/umac/cmn_services/crypto/src/wlan_crypto_global_api.c b/umac/cmn_services/crypto/src/wlan_crypto_global_api.c index 15c6e1f8ce..61d41d0022 100644 --- a/umac/cmn_services/crypto/src/wlan_crypto_global_api.c +++ b/umac/cmn_services/crypto/src/wlan_crypto_global_api.c @@ -4651,6 +4651,22 @@ void wlan_crypto_set_sae_single_pmk_bss_cap(struct wlan_objmgr_vdev *vdev, } } #endif + +void wlan_crypto_reset_vdev_params(struct wlan_objmgr_vdev *vdev) +{ + struct wlan_crypto_comp_priv *crypto_priv; + + crypto_debug("reset params for vdev %d", wlan_vdev_get_id(vdev)); + crypto_priv = (struct wlan_crypto_comp_priv *) + wlan_get_vdev_crypto_obj(vdev); + + if (!crypto_priv) { + crypto_err("crypto_priv NULL"); + return; + } + + wlan_crypto_reset_prarams(&crypto_priv->crypto_params); +} #endif #ifdef WLAN_FEATURE_FILS_SK