Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 96349dc9 authored by Yu Wang's avatar Yu Wang Committed by snandini
Browse files

qcacmn: add crypto api to free keys for vdev

Add api 'wlan_crypto_free_vdev_key' to free keys
for specified vdev.

CRs-Fixed: 2765406
Change-Id: I44b09ac30e16aca2aec8a0763b7848bfe779a345
parent e8ffacd1
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -841,6 +841,16 @@ struct wlan_crypto_key *wlan_crypto_get_key(struct wlan_objmgr_vdev *vdev,
QDF_STATUS wlan_crypto_set_key_req(struct wlan_objmgr_vdev *vdev,
				   struct wlan_crypto_key *req,
				   enum wlan_crypto_key_type key_type);

/**
 * wlan_crypto_free_vdev_key - Free keys for vdev
 * @vdev: vdev object
 *
 * This function frees keys stored in vdev crypto object.
 *
 * Return: None
 */
void wlan_crypto_free_vdev_key(struct wlan_objmgr_vdev *vdev);
#else
static inline void wlan_crypto_update_set_key_peer(
						struct wlan_objmgr_vdev *vdev,
@@ -870,6 +880,10 @@ QDF_STATUS wlan_crypto_set_key_req(struct wlan_objmgr_vdev *vdev,
{
	return QDF_STATUS_SUCCESS;
}

static inline void wlan_crypto_free_vdev_key(struct wlan_objmgr_vdev *vdev)
{
}
#endif /* CRYPTO_SET_KEY_CONVERGED */

/**
+16 −0
Original line number Diff line number Diff line
@@ -197,6 +197,22 @@ static void wlan_crypto_free_key(struct wlan_crypto_comp_priv *crypto_priv)

}

#ifdef CRYPTO_SET_KEY_CONVERGED
void wlan_crypto_free_vdev_key(struct wlan_objmgr_vdev *vdev)
{
	struct wlan_crypto_comp_priv *crypto_priv;

	crypto_debug("free key for vdev %d", wlan_vdev_get_id(vdev));
	crypto_priv = wlan_get_vdev_crypto_obj(vdev);
	if (!crypto_priv) {
		crypto_err("crypto_priv NULL");
		return;
	}

	wlan_crypto_free_key(crypto_priv);
}
#endif

static QDF_STATUS wlan_crypto_vdev_obj_destroy_handler(
						struct wlan_objmgr_vdev *vdev,
						void *arg){