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 120422b7a7..7d2336ebcf 100644 --- a/umac/cmn_services/crypto/inc/wlan_crypto_global_api.h +++ b/umac/cmn_services/crypto/inc/wlan_crypto_global_api.h @@ -25,7 +25,6 @@ /** * wlan_crypto_set_param - called by ucfg to set crypto param - * * @vdev: vdev * @param: param to be set. * @value: value @@ -40,7 +39,6 @@ QDF_STATUS wlan_crypto_set_param(struct wlan_objmgr_vdev *vdev, /** * wlan_crypto_get_param - called by ucfg to get crypto param - * * @vdev: vdev * @param: param to be get. * @@ -52,7 +50,6 @@ int32_t wlan_crypto_get_param(struct wlan_objmgr_vdev *vdev, wlan_crypto_param_type param); /** * wlan_crypto_get_peer_param - called by ucfg to get crypto peer param - * * @peer: peer * @param: param to be get. * @@ -65,7 +62,6 @@ int32_t wlan_crypto_get_peer_param(struct wlan_objmgr_peer *peer, /** * wlan_crypto_is_htallowed - called by ucfg to check if HT rates is allowed - * * @vdev: Vdev * @peer: Peer * @@ -77,7 +73,6 @@ uint8_t wlan_crypto_is_htallowed(struct wlan_objmgr_vdev *vdev, struct wlan_objmgr_peer *peer); /** * wlan_crypto_setkey - called by ucfg to setkey - * * @vdev: vdev * @req_key: req_key with cipher type, key macaddress * @@ -90,11 +85,11 @@ QDF_STATUS wlan_crypto_setkey(struct wlan_objmgr_vdev *vdev, /** * wlan_crypto_getkey - called by ucfg to get key - * * @vdev: vdev * @req_key: key value will be copied in this req_key * @mac_address: mac address of the peer for unicast key * or broadcast address if group key is requested. + * * This function gets called from ucfg to get key * * Return: QDF_STATUS_SUCCESS - in case of success @@ -105,11 +100,11 @@ QDF_STATUS wlan_crypto_getkey(struct wlan_objmgr_vdev *vdev, /** * wlan_crypto_delkey - called by ucfg to delete key - * * @vdev: vdev * @mac_address: mac address of the peer for unicast key * or broadcast address if group key is deleted. * @key_idx: key index to be deleted + * * This function gets called from ucfg to delete key * * Return: QDF_STATUS_SUCCESS - in case of success @@ -120,12 +115,12 @@ QDF_STATUS wlan_crypto_delkey(struct wlan_objmgr_vdev *vdev, /** * wlan_crypto_default_key - called by ucfg to set default tx key - * * @vdev: vdev * @mac_address: mac address of the peer for unicast key * or broadcast address if group key need to made default. * @key_idx: key index to be made as default key * @unicast: is key was unicast or group key. + * * This function gets called from ucfg to set default key * * Return: QDF_STATUS_SUCCESS - in case of success @@ -137,11 +132,11 @@ QDF_STATUS wlan_crypto_default_key(struct wlan_objmgr_vdev *vdev, /** * wlan_crypto_encap - called by mgmt for encap the frame based on cipher - * * @vdev: vdev * @wbuf: wbuf * @macaddr: macaddr * @encapdone: is encapdone already or not. + * * This function gets called from mgmt txrx to encap frame. * * Return: QDF_STATUS_SUCCESS - in case of success @@ -153,11 +148,11 @@ QDF_STATUS wlan_crypto_encap(struct wlan_objmgr_vdev *vdev, /** * wlan_crypto_decap - called by mgmt for decap the frame based on cipher - * * @vdev: vdev * @wbuf: wbuf * @macaddr: macaddr * @tid: tid of the packet. + * * This function gets called from mgmt txrx to decap frame. * * Return: QDF_STATUS_SUCCESS - in case of success @@ -169,11 +164,11 @@ QDF_STATUS wlan_crypto_decap(struct wlan_objmgr_vdev *vdev, /** * wlan_crypto_enmic - called by mgmt for adding mic in frame based on cipher - * * @vdev: vdev * @wbuf: wbuf * @macaddr: macaddr * @encapdone: is encapdone already or not. + * * This function gets called from mgmt txrx to adding mic to the frame. * * Return: QDF_STATUS_SUCCESS - in case of success @@ -186,11 +181,11 @@ QDF_STATUS wlan_crypto_enmic(struct wlan_objmgr_vdev *vdev, /** * wlan_crypto_demic - called by mgmt for remove and check mic for * the frame based on cipher - * * @vdev: vdev * @wbuf: wbuf * @macaddr: macaddr * @tid: tid of the frame + * * This function gets called from mgmt txrx to decap frame. * * Return: QDF_STATUS_SUCCESS - in case of success @@ -202,7 +197,6 @@ QDF_STATUS wlan_crypto_demic(struct wlan_objmgr_vdev *vdev, /** * wlan_crypto_vdev_is_pmf_enabled - called to check is pmf enabled in vdev - * * @vdev: vdev * * This function gets called to check is pmf enabled or not in vdev. @@ -213,7 +207,6 @@ bool wlan_crypto_vdev_is_pmf_enabled(struct wlan_objmgr_vdev *vdev); /** * wlan_crypto_is_pmf_enabled - called by mgmt txrx to check is pmf enabled - * * @vdev: vdev * @peer: peer * @@ -226,7 +219,6 @@ bool wlan_crypto_is_pmf_enabled(struct wlan_objmgr_vdev *vdev, /** * wlan_crypto_add_mmie - called by mgmt txrx to add mmie in frame - * * @vdev: vdev * @frm: frame starting pointer * @len: length of the frame @@ -241,7 +233,6 @@ uint8_t *wlan_crypto_add_mmie(struct wlan_objmgr_vdev *vdev, /** * wlan_crypto_is_mmie_valid - called by mgmt txrx to check mmie of the frame - * * @vdev: vdev * @frm: frame starting pointer * @efrm: end of frame pointer @@ -256,8 +247,6 @@ bool wlan_crypto_is_mmie_valid(struct wlan_objmgr_vdev *vdev, /** * wlan_crypto_wpaie_check - called by mlme to check the wpaie - * - * * @crypto params: crypto params * @iebuf: ie buffer * @@ -270,7 +259,6 @@ QDF_STATUS wlan_crypto_wpaie_check(struct wlan_crypto_params *, uint8_t *frm); /** * wlan_crypto_rsnie_check - called by mlme to check the rsnie - * * @crypto params: crypto params * @iebuf: ie buffer * @@ -282,7 +270,6 @@ QDF_STATUS wlan_crypto_wpaie_check(struct wlan_crypto_params *, uint8_t *frm); QDF_STATUS wlan_crypto_rsnie_check(struct wlan_crypto_params *, uint8_t *frm); /** * wlan_crypto_build_wpaie - called by mlme to build wpaie - * * @vdev: vdev * @iebuf: ie buffer * @@ -294,7 +281,6 @@ uint8_t *wlan_crypto_build_wpaie(struct wlan_objmgr_vdev *vdev, uint8_t *iebuf); /** * wlan_crypto_build_rsnie - called by mlme to build rsnie - * * @vdev: vdev * @iebuf: ie buffer * @@ -307,8 +293,6 @@ uint8_t *wlan_crypto_build_rsnie(struct wlan_objmgr_vdev *vdev, /** * wlan_crypto_wapiie_check - called by mlme to check the wapiie - * - * * @crypto params: crypto params * @iebuf: ie buffer * @@ -322,7 +306,6 @@ QDF_STATUS wlan_crypto_wapiie_check(struct wlan_crypto_params *crypto_params, /** * wlan_crypto_build_wapiie - called by mlme to build wapi ie - * * @vdev: vdev * @iebuf: ie buffer * @@ -334,7 +317,6 @@ uint8_t *wlan_crypto_build_wapiie(struct wlan_objmgr_vdev *vdev, uint8_t *iebuf); /** * wlan_crypto_rsn_info - check is given params matching with vdev params. - * * @vdev: vdev * @crypto params: crypto params * @@ -347,7 +329,6 @@ bool wlan_crypto_rsn_info(struct wlan_objmgr_vdev *vdev, struct wlan_crypto_params *crypto_params); /** * wlan_crypto_pn_check - called by data patch for PN check - * * @vdev: vdev * @wbuf: wbuf * @@ -359,7 +340,6 @@ QDF_STATUS wlan_crypto_pn_check(struct wlan_objmgr_vdev *vdev, qdf_nbuf_t wbuf); /** * wlan_crypto_vdev_get_crypto_params - called by mlme to get crypto params - * * @vdev:vdev * * This function gets called by mlme to get crypto params @@ -370,7 +350,6 @@ struct wlan_crypto_params *wlan_crypto_vdev_get_crypto_params( struct wlan_objmgr_vdev *vdev); /** * wlan_crypto_peer_get_crypto_params - called by mlme to get crypto params - * * @peer:peer * * This function gets called by mlme to get crypto params @@ -395,7 +374,6 @@ QDF_STATUS wlan_crypto_set_peer_wep_keys(struct wlan_objmgr_vdev *vdev, /** * wlan_crypto_register_crypto_rx_ops - set crypto_rx_ops - * * @crypto_rx_ops: crypto_rx_ops * * This function gets called by object manger to register crypto rx ops. @@ -407,7 +385,6 @@ QDF_STATUS wlan_crypto_register_crypto_rx_ops( /** * wlan_crypto_get_crypto_rx_ops - get crypto_rx_ops from psoc - * * @psoc: psoc * * This function gets called by umac to get the crypto_rx_ops @@ -418,7 +395,6 @@ struct wlan_lmac_if_crypto_rx_ops *wlan_crypto_get_crypto_rx_ops( struct wlan_objmgr_psoc *psoc); /** * wlan_crypto_vdev_has_auth_mode - check authmode for vdev - * * @vdev: vdev * @authvalue: authvalue to be checked * @@ -431,7 +407,6 @@ bool wlan_crypto_vdev_has_auth_mode(struct wlan_objmgr_vdev *vdev, /** * wlan_crypto_peer_has_auth_mode - check authmode for peer - * * @peer: peer * @authvalue: authvalue to be checked * diff --git a/umac/cmn_services/crypto/inc/wlan_crypto_global_def.h b/umac/cmn_services/crypto/inc/wlan_crypto_global_def.h index 3febde0450..f7e609f192 100644 --- a/umac/cmn_services/crypto/inc/wlan_crypto_global_def.h +++ b/umac/cmn_services/crypto/inc/wlan_crypto_global_def.h @@ -84,8 +84,8 @@ | WLAN_CRYPTO_KEY_SWDEMIC) /* - * Cipher types -*/ + * Cipher types + */ typedef enum wlan_crypto_cipher_type { WLAN_CRYPTO_CIPHER_WEP = 0, WLAN_CRYPTO_CIPHER_TKIP = 1, @@ -168,21 +168,25 @@ typedef enum wlan_crypto_key_mgmt { WLAN_CRYPTO_KEY_MGMT_IEEE8021X_SUITE_B_192 = 17, } wlan_crypto_key_mgmt; -/* crypto parames for vdev and peers */ +/** + * struct wlan_crypto_params - holds crypto params + * @authmodeset: authentication mode + * @ucastcipherset: unicast ciphers + * @mcastcipherset: multicast cipher + * @mgmtcipherset: mgmt cipher + * @cipher_caps: cipher capability + * @rsn_caps: rsn_capability + * @key_mgmt: key mgmt + * + * This structure holds crypto params for peer or vdev + */ struct wlan_crypto_params { - /* authentication mode set*/ uint32_t authmodeset; - /* unicast cipher set*/ uint32_t ucastcipherset; - /* mcast/group cipher set*/ uint32_t mcastcipherset; - /* management frames cipher set */ uint32_t mgmtcipherset; - /* cipher capabilities */ uint32_t cipher_caps; - /* rsn caps*/ uint16_t rsn_caps; - /* key mgmt used*/ uint16_t key_mgmt; }; @@ -196,32 +200,40 @@ typedef enum wlan_crypto_param_type { WLAN_CRYPTO_PARAM_KEY_MGMT, } wlan_crypto_param_type; -/* key structure */ +/** + * struct wlan_crypto_key - key structure + * @keylen: length of the key + * @valid: is key valid or not + * @flags: key flags + * @keyix: key id + * @cipher_table: table which stores cipher related info + * @private: private pointer to save cipher context + * @keylock: spin lock + * @recviv: WAPI key receive sequence counter + * @txiv: WAPI key transmit sequence counter + * @keytsc: key transmit sequence counter + * @keyrsc: key receive sequence counter + * @keyrsc_suspect: key receive sequence counter under + * suspect when pN jump is detected + * @keyglobal: key receive global sequence counter used with suspect + * @keyval: key value buffer + * + * This key structure to key related details. + */ struct wlan_crypto_key { uint8_t keylen; - /* key valid to indicate key is valid or not */; bool valid; - /* key flags */; uint16_t flags; uint16_t keyix; - /* cipher ops table*/ void *cipher_table; - /* cipher context*/ void *private; qdf_spinlock_t keylock; - /* WAPI key receive sequence counter */ uint8_t recviv[WLAN_CRYPTO_WAPI_IV_SIZE]; - /* WAPI key transmit sequence counter */ uint8_t txiv[WLAN_CRYPTO_WAPI_IV_SIZE]; - /* key transmit sequence counter */ uint64_t keytsc; - /* key receive sequence counter */ uint64_t keyrsc[WLAN_CRYPTO_TID_SIZE]; - /* key receive sequence counter under suspect when pN jump is detected*/ uint64_t keyrsc_suspect[WLAN_CRYPTO_TID_SIZE]; - /* key receive sequence counter */ uint64_t keyglobal; - /* key value */ uint8_t keyval[WLAN_CRYPTO_KEYBUF_SIZE + WLAN_CRYPTO_MICBUF_SIZE]; #define txmic (keyval + WLAN_CRYPTO_KEYBUF_SIZE \ @@ -230,28 +242,35 @@ struct wlan_crypto_key { + WLAN_CRYPTO_RXMIC_OFFSET) }; +/** + * struct wlan_crypto_req_key - key request structure + * @type: key/cipher type + * @pad: padding member + * @keyix: key index + * @keylen: length of the key value + * @flags: key flags + * @macaddr: macaddr of the key + * @keyrsc: key receive sequence counter + * @keytsc: key transmit sequence counter + * @keydata: key value + * @txiv: wapi key tx iv + * @rxiv: wapi key rx iv + * @filsaad: FILS AEAD data + * + * Key request structure used for setkey, getkey or delkey + */ struct wlan_crypto_req_key { - /* key/cipher type */ uint8_t type; uint8_t pad; - /* key index */ - uint16_t keyix - /* key length in bytes */; + uint16_t keyix; uint8_t keylen; - /* key flags */; uint8_t flags; uint8_t macaddr[WLAN_MACADDR_LEN]; - /* key receive sequence counter */ uint64_t keyrsc; - /* key transmit sequence counter */ uint64_t keytsc; - /* key value */ uint8_t keydata[WLAN_CRYPTO_KEYBUF_SIZE + WLAN_CRYPTO_MICBUF_SIZE]; - /* wapi key tx iv */ uint8_t txiv[WLAN_CRYPTO_WAPI_IV_SIZE]; - /* wapi key rx iv */ uint8_t recviv[WLAN_CRYPTO_WAPI_IV_SIZE]; - /* FILS AEAD data */ struct wlan_crypto_fils_aad_key filsaad; }; diff --git a/umac/cmn_services/crypto/inc/wlan_crypto_main.h b/umac/cmn_services/crypto/inc/wlan_crypto_main.h index e830b9f4d0..7f4e59f959 100644 --- a/umac/cmn_services/crypto/inc/wlan_crypto_main.h +++ b/umac/cmn_services/crypto/inc/wlan_crypto_main.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017 The Linux Foundation. All rights reserved. + * Copyright (c) 2017-2018 The Linux Foundation. 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 @@ -25,6 +25,7 @@ /** * wlan_crypto_init - Init the crypto service with object manager * Called from umac init context. + * * Return: QDF_STATUS_SUCCESS - in case of success */ QDF_STATUS wlan_crypto_init(void); @@ -32,6 +33,7 @@ QDF_STATUS wlan_crypto_init(void); /** * wlan_crypto_deinit - Deinit the crypto service with object manager * Called from umac deinit context. + * * Return: QDF_STATUS_SUCCESS - in case of success */ QDF_STATUS wlan_crypto_deinit(void); diff --git a/umac/cmn_services/crypto/src/wlan_crypto_def_i.h b/umac/cmn_services/crypto/src/wlan_crypto_def_i.h index adbe992f1f..4d1d0af471 100644 --- a/umac/cmn_services/crypto/src/wlan_crypto_def_i.h +++ b/umac/cmn_services/crypto/src/wlan_crypto_def_i.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017 The Linux Foundation. All rights reserved. + * Copyright (c) 2017-2018 The Linux Foundation. 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 @@ -374,7 +374,16 @@ static inline void wlan_crypto_put_be64(u8 *a, u64 val) #define HAS_CIPHER_CAP(_param, _c) ((_param)->cipher_caps & (1<<(_c))) #define HAS_ANY_CIPHER_CAP(_param) ((_param)->cipher_caps) -/* Management MIC information element (IEEE 802.11w) */ +/** + * struct wlan_crypto_mmie - MMIE IE + * @element_id: element id + * @length: length of the ie + * @key_id: igtk key_id used + * @sequence_number: igtk PN number + * @mic: MIC for the frame + * + * This structure represents Management MIC information element (IEEE 802.11w) + */ struct wlan_crypto_mmie { uint8_t element_id; uint8_t length; @@ -383,6 +392,17 @@ struct wlan_crypto_mmie { uint8_t mic[16]; } __packed; +/** + * struct wlan_crypto_comp_priv - crypto component private structure + * @crypto_params: crypto params for the peer + * @key: key buffers for this peer + * @igtk_key: igtk key buffer for this peer + * @igtk_key_type: igtk key type + * @def_tx_keyid: default key used for this peer + * @def_igtk_tx_keyid default igtk key used for this peer + * @fils_aead_set fils params for this peer + * + */ struct wlan_crypto_comp_priv { struct wlan_crypto_params crypto_params; struct wlan_crypto_key *key[WLAN_CRYPTO_MAXKEYIDX]; @@ -393,20 +413,28 @@ struct wlan_crypto_comp_priv { uint8_t fils_aead_set; }; - +/** + * struct wlan_crypto_cipher - crypto cipher table + * @cipher_name: printable name + * @cipher: cipher type WLAN_CRYPTO_CIPHER_* + * @header: size of privacy header (bytes) + * @trailer: size of privacy trailer (bytes) + * @miclen: size of mic trailer (bytes) + * @keylen: max key length + * @setkey: function pointer for setkey + * @encap: function pointer for encap + * @decap: function pointer for decap + * @enmic: function pointer for enmic + * @demic: function pointer for demic + * + */ struct wlan_crypto_cipher { - /* printable name */ const char *cipher_name; - /* WLAN_CRYPTO_CIPHER_* */ wlan_crypto_cipher_type cipher; - /* size of privacy header (bytes) */ - const uint8_t header; - /* size of privacy trailer (bytes) */ - const uint8_t trailer; - /* size of mic trailer (bytes) */ - const uint8_t miclen; - /* max key length */ - const uint32_t keylen; + const uint8_t header; + const uint8_t trailer; + const uint8_t miclen; + const uint32_t keylen; QDF_STATUS(*setkey)(struct wlan_crypto_key *); QDF_STATUS(*encap)(struct wlan_crypto_key *, qdf_nbuf_t, uint8_t, uint8_t); @@ -421,8 +449,8 @@ struct wlan_crypto_cipher { /** * wlan_crypto_is_data_protected - check is frame is protected or not - * * @data: frame + * * This function check is frame is protected or not * * Return: TRUE/FALSE @@ -439,8 +467,8 @@ static inline bool wlan_crypto_is_data_protected(const void *data) /** * ieee80211_hdrsize - calculate frame header size - * * @data: frame + * * This function calculate frame header size * * Return: header size of the frame @@ -467,8 +495,8 @@ static inline int ieee80211_hdrsize(const void *data) /** * wlan_get_tid - get tid of the frame - * * @data: frame + * * This function get tid of the frame * * Return: tid of the frame 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 ef24da4639..3c7aea1b2a 100644 --- a/umac/cmn_services/crypto/src/wlan_crypto_global_api.c +++ b/umac/cmn_services/crypto/src/wlan_crypto_global_api.c @@ -41,7 +41,6 @@ const struct wlan_crypto_cipher *wlan_crypto_cipher_ops[WLAN_CRYPTO_CIPHER_MAX]; /** * wlan_crypto_vdev_get_crypto_params - called by mlme to get crypto params - * * @vdev:vdev * * This function gets called by mlme to get crypto params @@ -63,7 +62,6 @@ static struct wlan_crypto_params *wlan_crypto_vdev_get_comp_params( /** * wlan_crypto_peer_get_crypto_params - called by mlme to get crypto params - * * @peer:peer * * This function gets called by mlme to get crypto params @@ -90,7 +88,6 @@ static QDF_STATUS wlan_crypto_set_igtk_key(struct wlan_crypto_key *key) } /** * wlan_crypto_set_param - called by ucfg to set crypto param - * * @vdev: vdev * @param: param to be set. * @value: value @@ -146,7 +143,6 @@ QDF_STATUS wlan_crypto_set_param(struct wlan_objmgr_vdev *vdev, /** * wlan_crypto_get_param_value - called by crypto APIs to get value for param - * * @param: Crypto param type * @crypto_params: Crypto params struct * @@ -188,6 +184,15 @@ static int32_t wlan_crypto_get_param_value(wlan_crypto_param_type param, return value; } +/** + * wlan_crypto_get_param - called to get value for param from vdev + * @vdev: vdev + * @param: Crypto param type + * + * This function gets called to get value for param from vdev + * + * Return: value or -1 for failure + */ int32_t wlan_crypto_get_param(struct wlan_objmgr_vdev *vdev, wlan_crypto_param_type param) { @@ -208,6 +213,15 @@ int32_t wlan_crypto_get_param(struct wlan_objmgr_vdev *vdev, return value; } +/** + * wlan_crypto_get_peer_param - called to get value for param from peer + * @peer: peer + * @param: Crypto param type + * + * This function gets called to get value for param from peer + * + * Return: value or -1 for failure + */ int32_t wlan_crypto_get_peer_param(struct wlan_objmgr_peer *peer, wlan_crypto_param_type param) { @@ -227,6 +241,16 @@ int32_t wlan_crypto_get_peer_param(struct wlan_objmgr_peer *peer, return value; } +/** + * wlan_crypto_is_htallowed - called to check is HT allowed for cipher + * @vdev: vdev + * @peer: peer + * + * This function gets called to check is HT allowed for cipher. + * HT is not allowed for wep and tkip. + * + * Return: 0 - not allowed or 1 - allowed + */ uint8_t wlan_crypto_is_htallowed(struct wlan_objmgr_vdev *vdev, struct wlan_objmgr_peer *peer) { @@ -255,7 +279,6 @@ qdf_export_symbol(wlan_crypto_is_htallowed); /** * wlan_crypto_setkey - called by ucfg to setkey - * * @vdev: vdev * @req_key: req_key with cipher type, key macaddress * @@ -567,11 +590,11 @@ QDF_STATUS wlan_crypto_setkey(struct wlan_objmgr_vdev *vdev, /** * wlan_crypto_getkey - called by ucfg to get key - * * @vdev: vdev * @req_key: key value will be copied in this req_key * @mac_address: mac address of the peer for unicast key * or broadcast address if group key is requested. + * * This function gets called from ucfg to get key * * Return: QDF_STATUS_SUCCESS - in case of success @@ -680,11 +703,11 @@ QDF_STATUS wlan_crypto_getkey(struct wlan_objmgr_vdev *vdev, /** * wlan_crypto_delkey - called by ucfg to delete key - * * @vdev: vdev * @mac_address: mac address of the peer for unicast key * or broadcast address if group key is deleted. * @key_idx: key index to be deleted + * * This function gets called from ucfg to delete key * * Return: QDF_STATUS_SUCCESS - in case of success @@ -775,12 +798,12 @@ QDF_STATUS wlan_crypto_delkey(struct wlan_objmgr_vdev *vdev, /** * wlan_crypto_default_key - called by ucfg to set default tx key - * * @vdev: vdev * @mac_address: mac address of the peer for unicast key * or broadcast address if group key need to made default. * @key_idx: key index to be made as default key * @unicast: is key was unicast or group key. + * * This function gets called from ucfg to set default key * * Return: QDF_STATUS_SUCCESS - in case of success @@ -861,11 +884,11 @@ QDF_STATUS wlan_crypto_default_key(struct wlan_objmgr_vdev *vdev, /** * wlan_crypto_encap - called by mgmt for encap the frame based on cipher - * * @vdev: vdev * @wbuf: wbuf * @macaddr: macaddr * @encapdone: is encapdone already or not. + * * This function gets called from mgmt txrx to encap frame. * * Return: QDF_STATUS_SUCCESS - in case of success @@ -954,11 +977,11 @@ EXPORT_SYMBOL(wlan_crypto_encap); /** * wlan_crypto_decap - called by mgmt for decap the frame based on cipher - * * @vdev: vdev * @wbuf: wbuf * @macaddr: macaddr * @tid: tid of the frame + * * This function gets called from mgmt txrx to decap frame. * * Return: QDF_STATUS_SUCCESS - in case of success @@ -1046,11 +1069,11 @@ QDF_STATUS wlan_crypto_decap(struct wlan_objmgr_vdev *vdev, EXPORT_SYMBOL(wlan_crypto_decap); /** * wlan_crypto_enmic - called by mgmt for adding mic in frame based on cipher - * * @vdev: vdev * @wbuf: wbuf * @macaddr: macaddr * @encapdone: is encapdone already or not. + * * This function gets called from mgmt txrx to adding mic to the frame. * * Return: QDF_STATUS_SUCCESS - in case of success @@ -1127,11 +1150,11 @@ QDF_STATUS wlan_crypto_enmic(struct wlan_objmgr_vdev *vdev, /** * wlan_crypto_demic - called by mgmt for remove and check mic for * the frame based on cipher - * * @vdev: vdev * @wbuf: wbuf * @macaddr: macaddr * @tid: tid of the frame + * * This function gets called from mgmt txrx to decap frame. * * Return: QDF_STATUS_SUCCESS - in case of success @@ -1206,7 +1229,6 @@ QDF_STATUS wlan_crypto_demic(struct wlan_objmgr_vdev *vdev, /** * wlan_crypto_vdev_is_pmf_enabled - called to check is pmf enabled in vdev - * * @vdev: vdev * * This function gets called to check is pmf enabled or not in vdev. @@ -1239,7 +1261,6 @@ bool wlan_crypto_vdev_is_pmf_enabled(struct wlan_objmgr_vdev *vdev) } /** * wlan_crypto_is_pmf_enabled - called by mgmt txrx to check is pmf enabled - * * @vdev: vdev * @peer: peer * @@ -1293,7 +1314,6 @@ static void wlan_crypto_gmac_pn_swap(uint8_t *a, uint8_t *b) /** * wlan_crypto_add_mmie - called by mgmt txrx to add mmie in frame - * * @vdev: vdev * @bfrm: frame starting pointer * @len: length of the frame @@ -1429,7 +1449,6 @@ uint8_t *wlan_crypto_add_mmie(struct wlan_objmgr_vdev *vdev, /** * wlan_crypto_is_mmie_valid - called by mgmt txrx to check mmie of the frame - * * @vdev: vdev * @frm: frame starting pointer * @efrm: end of frame pointer @@ -1795,8 +1814,6 @@ static int32_t wlan_crypto_rsn_suite_to_keymgmt(uint8_t *sel) /** * wlan_crypto_wpaie_check - called by mlme to check the wpaie - * - * * @crypto params: crypto params * @iebuf: ie buffer * @@ -1883,8 +1900,6 @@ QDF_STATUS wlan_crypto_wpaie_check(struct wlan_crypto_params *crypto_params, /** * wlan_crypto_rsnie_check - called by mlme to check the rsnie - * - * * @crypto params: crypto params * @iebuf: ie buffer * @@ -1971,7 +1986,6 @@ QDF_STATUS wlan_crypto_rsnie_check(struct wlan_crypto_params *crypto_params, /** * wlan_crypto_build_wpaie - called by mlme to build wpaie - * * @vdev: vdev * @iebuf: ie buffer * @@ -2060,7 +2074,6 @@ uint8_t *wlan_crypto_build_wpaie(struct wlan_objmgr_vdev *vdev, /** * wlan_crypto_build_rsnie - called by mlme to build rsnie - * * @vdev: vdev * @iebuf: ie buffer * @@ -2310,8 +2323,6 @@ static int32_t wlan_crypto_wapi_keymgmt(u_int8_t *sel) } /** * wlan_crypto_wapiie_check - called by mlme to check the wapiie - * - * * @crypto params: crypto params * @iebuf: ie buffer * @@ -2394,7 +2405,6 @@ QDF_STATUS wlan_crypto_wapiie_check(struct wlan_crypto_params *crypto_params, /** * wlan_crypto_build_wapiie - called by mlme to build wapi ie - * * @vdev: vdev * @iebuf: ie buffer * @@ -2469,7 +2479,6 @@ uint8_t *wlan_crypto_build_wapiie(struct wlan_objmgr_vdev *vdev, /** * wlan_crypto_pn_check - called by data patch for PN check - * * @vdev: vdev * @wbuf: wbuf * @@ -2487,7 +2496,6 @@ QDF_STATUS wlan_crypto_pn_check(struct wlan_objmgr_vdev *vdev, /** * wlan_crypto_vdev_get_crypto_params - called by mlme to get crypto params - * * @vdev:vdev * * This function gets called by mlme to get crypto params @@ -2503,7 +2511,6 @@ struct wlan_crypto_params *wlan_crypto_vdev_get_crypto_params( /** * wlan_crypto_peer_get_crypto_params - called by mlme to get crypto params - * * @peer:peer * * This function gets called by mlme to get crypto params @@ -2632,7 +2639,6 @@ QDF_STATUS wlan_crypto_set_peer_wep_keys(struct wlan_objmgr_vdev *vdev, /** * wlan_crypto_register_crypto_rx_ops - set crypto_rx_ops - * * @crypto_rx_ops: crypto_rx_ops * * This function gets called by object manger to register crypto rx ops. @@ -2652,7 +2658,6 @@ QDF_STATUS wlan_crypto_register_crypto_rx_ops( /** * wlan_crypto_get_crypto_rx_ops - get crypto_rx_ops from psoc - * * @psoc: psoc * * This function gets called by umac to get the crypto_rx_ops @@ -2669,7 +2674,6 @@ EXPORT_SYMBOL(wlan_crypto_get_crypto_rx_ops); /** * wlan_crypto_vdev_has_auth_mode - check authmode for vdev - * * @vdev: vdev * @authvalue: authvalue to be checked * @@ -2686,7 +2690,6 @@ bool wlan_crypto_vdev_has_auth_mode(struct wlan_objmgr_vdev *vdev, /** * wlan_crypto_peer_has_auth_mode - check authmode for peer - * * @peer: peer * @authvalue: authvalue to be checked * diff --git a/umac/cmn_services/crypto/src/wlan_crypto_main.c b/umac/cmn_services/crypto/src/wlan_crypto_main.c index 55c42f4d0a..2ae5adca43 100644 --- a/umac/cmn_services/crypto/src/wlan_crypto_main.c +++ b/umac/cmn_services/crypto/src/wlan_crypto_main.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017 The Linux Foundation. All rights reserved. + * Copyright (c) 2017-2018 The Linux Foundation. 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 @@ -26,6 +26,7 @@ /** * wlan_crypto_init - Init the crypto service with object manager * Called from umac init context. + * * Return: QDF_STATUS_SUCCESS - in case of success */ QDF_STATUS wlan_crypto_init(void) @@ -36,6 +37,7 @@ QDF_STATUS wlan_crypto_init(void) /** * wlan_crypto_deinit - Deinit the crypto service with object manager * Called from umac deinit context. + * * Return: QDF_STATUS_SUCCESS - in case of success */ QDF_STATUS wlan_crypto_deinit(void) diff --git a/umac/cmn_services/crypto/src/wlan_crypto_main_i.h b/umac/cmn_services/crypto/src/wlan_crypto_main_i.h index f9cce8eb8b..49aa80a19b 100644 --- a/umac/cmn_services/crypto/src/wlan_crypto_main_i.h +++ b/umac/cmn_services/crypto/src/wlan_crypto_main_i.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017 The Linux Foundation. All rights reserved. + * Copyright (c) 2017-2018 The Linux Foundation. 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 @@ -25,6 +25,7 @@ /** * wlan_crypto_init - Init the crypto service with object manager * Called from umac init context. + * * Return: QDF_STATUS_SUCCESS - in case of success */ QDF_STATUS __wlan_crypto_init(void); @@ -32,6 +33,7 @@ QDF_STATUS __wlan_crypto_init(void); /** * wlan_crypto_deinit - Deinit the crypto service with object manager * Called from umac deinit context. + * * Return: QDF_STATUS_SUCCESS - in case of success */ QDF_STATUS __wlan_crypto_deinit(void); diff --git a/umac/cmn_services/crypto/src/wlan_crypto_obj_mgr.c b/umac/cmn_services/crypto/src/wlan_crypto_obj_mgr.c index d1631cf806..7758b9de72 100644 --- a/umac/cmn_services/crypto/src/wlan_crypto_obj_mgr.c +++ b/umac/cmn_services/crypto/src/wlan_crypto_obj_mgr.c @@ -267,8 +267,9 @@ static QDF_STATUS wlan_crypto_peer_obj_destroy_handler( return QDF_STATUS_SUCCESS; } /** - * wlan_crypto_init - Init the crypto service with object manager - * Called from umac init context. + * __wlan_crypto_init - Init the crypto service with object manager + * Called from crypto init context. + * * Return: QDF_STATUS_SUCCESS - in case of success */ QDF_STATUS __wlan_crypto_init(void) @@ -317,8 +318,9 @@ register_success: } /** - * wlan_crypto_deinit - Deinit the crypto service with object manager - * Called from umac deinit context. + * __wlan_crypto_deinit - Deinit the crypto service with object manager + * Called from crypto context. + * * Return: QDF_STATUS_SUCCESS - in case of success */ QDF_STATUS __wlan_crypto_deinit(void) diff --git a/umac/cmn_services/crypto/src/wlan_crypto_param_handling.c b/umac/cmn_services/crypto/src/wlan_crypto_param_handling.c index 6d113adbe4..d3fb680ec9 100644 --- a/umac/cmn_services/crypto/src/wlan_crypto_param_handling.c +++ b/umac/cmn_services/crypto/src/wlan_crypto_param_handling.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017 The Linux Foundation. All rights reserved. + * Copyright (c) 2017-2018 The Linux Foundation. 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 @@ -56,7 +56,6 @@ cipher2cap(int cipher) /** * wlan_crypto_set_authmode - called by ucfg to configure authmode for vdev - * * @vdev: vdev * @authmode: authmode * @@ -73,7 +72,6 @@ QDF_STATUS wlan_crypto_set_authmode(struct wlan_crypto_params *crypto_params, /** * wlan_crypto_get_authmode - called by ucfg to get authmode of particular vdev - * * @vdev: vdev * * This function gets called from ucfg to get authmode of particular vdev @@ -87,7 +85,6 @@ int32_t wlan_crypto_get_authmode(struct wlan_crypto_params *crypto_params) /** * wlan_crypto_set_mcastcipher - called by ucfg to configure mcastcipher in vdev - * * @vdev: vdev * @wlan_crypto_cipher_type: mcast cipher value. * @@ -118,7 +115,6 @@ QDF_STATUS wlan_crypto_set_mcastcipher(struct wlan_crypto_params *crypto_params, } /** * wlan_crypto_get_mcastcipher - called by ucfg to get mcastcipher from vdev - * * @vdev: vdev * * This function gets called from ucfg to get mcastcipher of particular vdev @@ -133,7 +129,6 @@ int32_t wlan_crypto_get_mcastcipher(struct wlan_crypto_params *crypto_params) /** * wlan_crypto_set_ucastciphers - called by ucfg to configure * unicast ciphers in vdev - * * @vdev: vdev * @ciphers: bitmap value of all supported unicast ciphers * @@ -167,7 +162,6 @@ QDF_STATUS wlan_crypto_set_ucastciphers( /** * wlan_crypto_get_ucastciphers - called by ucfg to get ucastcipher from vdev - * * @vdev: vdev * * This function gets called from ucfg to get supported unicast ciphers @@ -182,7 +176,6 @@ int32_t wlan_crypto_get_ucastciphers(struct wlan_crypto_params *crypto_params) /** * wlan_crypto_set_mgmtcipher - called by ucfg to configure * mgmt ciphers in vdev - * * @vdev: vdev * @ciphers: bitmap value of all supported unicast ciphers * @@ -206,7 +199,6 @@ QDF_STATUS wlan_crypto_set_mgmtcipher( /** * wlan_crypto_get_mgmtciphers - called by ucfg to get mgmtcipher from vdev - * * @vdev: vdev * * This function gets called from ucfg to get supported unicast ciphers @@ -221,7 +213,6 @@ int32_t wlan_crypto_get_mgmtciphers(struct wlan_crypto_params *crypto_params) /** * wlan_crypto_set_cipher_cap - called by ucfg to configure * cipher cap in vdev - * * @vdev: vdev * @ciphers: bitmap value of all supported unicast ciphers * @@ -240,7 +231,6 @@ QDF_STATUS wlan_crypto_set_cipher_cap( /** * wlan_crypto_get_cipher_cap - called by ucfg to get cipher caps from vdev - * * @vdev: vdev * * This function gets called from ucfg to get supported unicast ciphers @@ -255,7 +245,6 @@ int32_t wlan_crypto_get_cipher_cap(struct wlan_crypto_params *crypto_params) /** * wlan_crypto_set_rsn_cap - called by ucfg to configure * cipher cap in vdev - * * @vdev: vdev * @ciphers: bitmap value of all supported unicast ciphers * @@ -274,7 +263,6 @@ QDF_STATUS wlan_crypto_set_rsn_cap( /** * wlan_crypto_get_rsn_cap - called by ucfg to get rsn caps from vdev - * * @vdev: vdev * * This function gets called from ucfg to get supported unicast ciphers @@ -290,7 +278,6 @@ int32_t wlan_crypto_get_rsn_cap(struct wlan_crypto_params *crypto_params) /** * wlan_crypto_set_key_mgmt - called by ucfg to configure * key_mgmt in vdev - * * @vdev: vdev * @ciphers: bitmap value of all supported unicast ciphers * @@ -309,7 +296,6 @@ QDF_STATUS wlan_crypto_set_key_mgmt( /** * wlan_crypto_get_key_mgmt - called by ucfg to get key mgmt from vdev - * * @vdev: vdev * * This function gets called from ucfg to get supported unicast ciphers diff --git a/umac/cmn_services/crypto/src/wlan_crypto_param_handling_i.h b/umac/cmn_services/crypto/src/wlan_crypto_param_handling_i.h index 010e2ab80e..d6198b4b2a 100644 --- a/umac/cmn_services/crypto/src/wlan_crypto_param_handling_i.h +++ b/umac/cmn_services/crypto/src/wlan_crypto_param_handling_i.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017 The Linux Foundation. All rights reserved. + * Copyright (c) 2017-2018 The Linux Foundation. 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 @@ -24,7 +24,6 @@ #define __WLAN_CRYPTO_PARAM_HANDLING_I_H_ /** * wlan_crypto_set_authmode - called by ucfg to configure authmode for vdev - * * @vdev: vdev * @authmode: authmode * @@ -37,7 +36,6 @@ QDF_STATUS wlan_crypto_set_authmode(struct wlan_crypto_params *crypto_params, /** * wlan_crypto_get_authmode - called by ucfg to get authmode of particular vdev - * * @vdev: vdev * * This function gets called from ucfg to get authmode of particular vdev @@ -48,7 +46,6 @@ int32_t wlan_crypto_get_authmode(struct wlan_crypto_params *crypto_params); /** * wlan_crypto_set_mcastcipher - called by ucfg to configure mcastcipher in vdev - * * @vdev: vdev * @wlan_crypto_cipher_type: mcast cipher value. * @@ -60,7 +57,6 @@ QDF_STATUS wlan_crypto_set_mcastcipher(struct wlan_crypto_params *crypto_params, wlan_crypto_cipher_type cipher); /** * wlan_crypto_get_mcastcipher - called by ucfg to get mcastcipher from vdev - * * @vdev: vdev * * This function gets called from ucfg to get mcastcipher of particular vdev @@ -72,7 +68,6 @@ int32_t wlan_crypto_get_mcastcipher(struct wlan_crypto_params *crypto_params); /** * wlan_crypto_set_ucastciphers - called by ucfg to configure * unicast ciphers in vdev - * * @vdev: vdev * @ciphers: bitmap value of all supported unicast ciphers * @@ -84,7 +79,6 @@ QDF_STATUS wlan_crypto_set_ucastciphers(struct wlan_crypto_params *, uint32_t ciphers); /** * wlan_crypto_get_ucastciphers - called by ucfg to get ucastcipher from vdev - * * @vdev: vdev * * This function gets called from ucfg to get supported unicast ciphers @@ -96,7 +90,6 @@ int32_t wlan_crypto_get_ucastciphers(struct wlan_crypto_params *crypto_params); /** * wlan_crypto_set_mgmtcipher - called by ucfg to configure * mgmt ciphers in vdev - * * @vdev: vdev * @ciphers: bitmap value of all supported unicast ciphers * @@ -109,7 +102,6 @@ QDF_STATUS wlan_crypto_set_mgmtcipher(struct wlan_crypto_params *crypto_params, /** * wlan_crypto_get_mgmtciphers - called by ucfg to get mgmtcipher from vdev - * * @vdev: vdev * * This function gets called from ucfg to get supported unicast ciphers @@ -121,7 +113,6 @@ int32_t wlan_crypto_get_mgmtciphers(struct wlan_crypto_params *crypto_params); /** * wlan_crypto_set_cipher_cap - called by ucfg to configure * cipher cap in vdev - * * @vdev: vdev * @ciphers: bitmap value of all supported unicast ciphers * @@ -134,7 +125,6 @@ QDF_STATUS wlan_crypto_set_cipher_cap(struct wlan_crypto_params *crypto_params, /** * wlan_crypto_get_cipher_cap - called by ucfg to get cipher caps from vdev - * * @vdev: vdev * * This function gets called from ucfg to get supported unicast ciphers @@ -146,7 +136,6 @@ int32_t wlan_crypto_get_cipher_cap(struct wlan_crypto_params *crypto_params); /** * wlan_crypto_set_rsn_cap - called by ucfg to configure * cipher cap in vdev - * * @vdev: vdev * @ciphers: bitmap value of all supported unicast ciphers * @@ -159,7 +148,6 @@ QDF_STATUS wlan_crypto_set_rsn_cap(struct wlan_crypto_params *crypto_params, /** * wlan_crypto_get_rsn_cap - called by ucfg to get rsn caps from vdev - * * @vdev: vdev * * This function gets called from ucfg to get supported unicast ciphers @@ -172,7 +160,6 @@ int32_t wlan_crypto_get_rsn_cap(struct wlan_crypto_params *crypto_params); /** * wlan_crypto_set_key_mgmt - called by ucfg to configure * key_mgmt in vdev - * * @vdev: vdev * @ciphers: bitmap value of all supported unicast ciphers * @@ -185,7 +172,6 @@ QDF_STATUS wlan_crypto_set_key_mgmt(struct wlan_crypto_params *crypto_params, /** * wlan_crypto_get_key_mgmt - called by ucfg to get key mgmt from vdev - * * @vdev: vdev * * This function gets called from ucfg to get supported unicast ciphers