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

Commit 236f7d33 authored by Yue Ma's avatar Yue Ma
Browse files

cnss: Include WCNSS Security APIs in CNSS platform driver



As a part of supporting PMF (802.11w) feature on CLD WLAN host driver;
the requirement is to implement BIP algorithm which uses AES-CMAC
encryption. For this AES-CMAC mode encryption, we need to use
crypto_alloc_cipher and crypto_free_cipher APIs.

Hence adding the equivalent WCNSS APIs in qcomwlan_secif.c and linking
this file in CNSS platform driver.

Change-Id: Id6b171d3f27e58d9d4ddad8db8870ed1a5fc0943
CRs-Fixed: 589096
Signed-off-by: default avatarYue Ma <yuem@codeaurora.org>
parent f28186f6
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
# Makefile for cnss platform driver
# Makefile for CNSS platform driver

obj-$(CONFIG_CNSS) +=cnss.o
cnsscore-objs += cnss.o ../wcnss/qcomwlan_secif.o
obj-$(CONFIG_CNSS) += cnsscore.o
+13 −1
Original line number Diff line number Diff line
/* Copyright (c) 2011, The Linux Foundation. All rights reserved.
/* Copyright (c) 2011-2013, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
@@ -61,3 +61,15 @@ void wcnss_wlan_crypto_free_ablkcipher(struct crypto_ablkcipher *tfm)
}
EXPORT_SYMBOL(wcnss_wlan_crypto_free_ablkcipher);

void wcnss_wlan_crypto_free_cipher(struct crypto_cipher *tfm)
{
	crypto_free_cipher(tfm);
}
EXPORT_SYMBOL(wcnss_wlan_crypto_free_cipher);

struct crypto_cipher *
wcnss_wlan_crypto_alloc_cipher(const char *alg_name, u32 type, u32 mask)
{
	return crypto_alloc_cipher(alg_name, type, mask);
}
EXPORT_SYMBOL(wcnss_wlan_crypto_alloc_cipher);
+4 −1
Original line number Diff line number Diff line
/* Copyright (c) 2011, The Linux Foundation. All rights reserved.
/* Copyright (c) 2011-2013, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
@@ -29,5 +29,8 @@ extern int wcnss_wlan_crypto_ahash_setkey(struct crypto_ahash *tfm,
extern struct crypto_ablkcipher *
wcnss_wlan_crypto_alloc_ablkcipher(const char *alg_name, u32 type, u32 mask);
extern void wcnss_wlan_ablkcipher_request_free(struct ablkcipher_request *req);
extern void wcnss_wlan_crypto_free_cipher(struct crypto_cipher *tfm);
extern struct crypto_cipher *
wcnss_wlan_crypto_alloc_cipher(const char *alg_name, u32 type, u32 mask);

#endif /* __QCOM_WLAN_SECIF_H__ */