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 26175c0bba68..b734de667e52 100644 --- a/umac/cmn_services/crypto/src/wlan_crypto_global_api.c +++ b/umac/cmn_services/crypto/src/wlan_crypto_global_api.c @@ -39,6 +39,14 @@ const struct wlan_crypto_cipher *wlan_crypto_cipher_ops[WLAN_CRYPTO_CIPHER_MAX]; +#define WPA_ADD_CIPHER_TO_SUITE(frm, cipher) \ + WLAN_CRYPTO_ADDSELECTOR(frm,\ + wlan_crypto_wpa_cipher_to_suite(cipher)) + +#define RSN_ADD_CIPHER_TO_SUITE(frm, cipher) \ + WLAN_CRYPTO_ADDSELECTOR(frm,\ + wlan_crypto_rsn_cipher_to_suite(cipher)) + /** * wlan_crypto_vdev_get_crypto_params - called by mlme to get crypto params * @vdev:vdev @@ -2328,30 +2336,22 @@ uint8_t *wlan_crypto_build_wpaie(struct wlan_objmgr_vdev *vdev, /* multicast cipher */ - if (MCIPHER_IS_TKIP(crypto_params)) { - WLAN_CRYPTO_ADDSELECTOR(frm, - wlan_crypto_wpa_cipher_to_suite( - WLAN_CRYPTO_CIPHER_TKIP)); - } else if (MCIPHER_IS_CCMP128(crypto_params)) { - WLAN_CRYPTO_ADDSELECTOR(frm, - wlan_crypto_wpa_cipher_to_suite( - WLAN_CRYPTO_CIPHER_AES_CCM)); - } + if (MCIPHER_IS_TKIP(crypto_params)) + WPA_ADD_CIPHER_TO_SUITE(frm, WLAN_CRYPTO_CIPHER_TKIP); + else if (MCIPHER_IS_CCMP128(crypto_params)) + WPA_ADD_CIPHER_TO_SUITE(frm, WLAN_CRYPTO_CIPHER_AES_CCM); + /* unicast cipher list */ selcnt = frm; WLAN_CRYPTO_ADDSHORT(frm, 0); /* do not use CCMP unicast cipher in WPA mode */ - if (UCIPHER_IS_TKIP(crypto_params)) { - selcnt[0]++; - WLAN_CRYPTO_ADDSELECTOR(frm, - wlan_crypto_wpa_cipher_to_suite( - WLAN_CRYPTO_CIPHER_TKIP)); - } if (UCIPHER_IS_CCMP128(crypto_params)) { selcnt[0]++; - WLAN_CRYPTO_ADDSELECTOR(frm, - wlan_crypto_wpa_cipher_to_suite( - WLAN_CRYPTO_CIPHER_AES_CCM)); + WPA_ADD_CIPHER_TO_SUITE(frm, WLAN_CRYPTO_CIPHER_AES_CCM); + } + if (UCIPHER_IS_TKIP(crypto_params)) { + selcnt[0]++; + WPA_ADD_CIPHER_TO_SUITE(frm, WLAN_CRYPTO_CIPHER_TKIP); } /* authenticator selector list */ @@ -2417,64 +2417,41 @@ uint8_t *wlan_crypto_build_rsnie(struct wlan_objmgr_vdev *vdev, /* multicast cipher */ - if (MCIPHER_IS_TKIP(crypto_params)) { - WLAN_CRYPTO_ADDSELECTOR(frm, - wlan_crypto_rsn_cipher_to_suite( - WLAN_CRYPTO_CIPHER_TKIP)); - } else if (MCIPHER_IS_CCMP128(crypto_params)) { - WLAN_CRYPTO_ADDSELECTOR(frm, - wlan_crypto_rsn_cipher_to_suite( - WLAN_CRYPTO_CIPHER_AES_CCM)); - } else if (MCIPHER_IS_CCMP256(crypto_params)) { - WLAN_CRYPTO_ADDSELECTOR(frm, - wlan_crypto_rsn_cipher_to_suite( - WLAN_CRYPTO_CIPHER_AES_CCM_256)); - } else if (MCIPHER_IS_GCMP128(crypto_params)) { - WLAN_CRYPTO_ADDSELECTOR(frm, - wlan_crypto_rsn_cipher_to_suite( - WLAN_CRYPTO_CIPHER_AES_GCM)); - } else if (MCIPHER_IS_GCMP256(crypto_params)) { - WLAN_CRYPTO_ADDSELECTOR(frm, - wlan_crypto_rsn_cipher_to_suite( - WLAN_CRYPTO_CIPHER_AES_GCM_256)); - } + if (MCIPHER_IS_TKIP(crypto_params)) + RSN_ADD_CIPHER_TO_SUITE(frm, WLAN_CRYPTO_CIPHER_TKIP); + else if (MCIPHER_IS_CCMP128(crypto_params)) + RSN_ADD_CIPHER_TO_SUITE(frm, WLAN_CRYPTO_CIPHER_AES_CCM); + else if (MCIPHER_IS_CCMP256(crypto_params)) + RSN_ADD_CIPHER_TO_SUITE(frm, WLAN_CRYPTO_CIPHER_AES_CCM_256); + else if (MCIPHER_IS_GCMP128(crypto_params)) + RSN_ADD_CIPHER_TO_SUITE(frm, WLAN_CRYPTO_CIPHER_AES_GCM); + else if (MCIPHER_IS_GCMP256(crypto_params)) + RSN_ADD_CIPHER_TO_SUITE(frm, WLAN_CRYPTO_CIPHER_AES_GCM_256); /* unicast cipher list */ selcnt = frm; WLAN_CRYPTO_ADDSHORT(frm, 0); - /* do not use CCMP unicast cipher in WPA mode */ - if (UCIPHER_IS_TKIP(crypto_params)) { - selcnt[0]++; - WLAN_CRYPTO_ADDSELECTOR(frm, - wlan_crypto_rsn_cipher_to_suite( - WLAN_CRYPTO_CIPHER_TKIP)); - } - if (UCIPHER_IS_CCMP128(crypto_params)) { - selcnt[0]++; - WLAN_CRYPTO_ADDSELECTOR(frm, - wlan_crypto_rsn_cipher_to_suite( - WLAN_CRYPTO_CIPHER_AES_CCM)); - } + if (UCIPHER_IS_CCMP256(crypto_params)) { selcnt[0]++; - WLAN_CRYPTO_ADDSELECTOR(frm, - wlan_crypto_rsn_cipher_to_suite( - WLAN_CRYPTO_CIPHER_AES_CCM_256)); - } - - if (UCIPHER_IS_GCMP128(crypto_params)) { - selcnt[0]++; - WLAN_CRYPTO_ADDSELECTOR(frm, - wlan_crypto_rsn_cipher_to_suite( - WLAN_CRYPTO_CIPHER_AES_GCM)); + RSN_ADD_CIPHER_TO_SUITE(frm, WLAN_CRYPTO_CIPHER_AES_CCM_256); } if (UCIPHER_IS_GCMP256(crypto_params)) { selcnt[0]++; - WLAN_CRYPTO_ADDSELECTOR(frm, - wlan_crypto_rsn_cipher_to_suite( - WLAN_CRYPTO_CIPHER_AES_GCM_256)); + RSN_ADD_CIPHER_TO_SUITE(frm, WLAN_CRYPTO_CIPHER_AES_GCM_256); + } + if (UCIPHER_IS_CCMP128(crypto_params)) { + selcnt[0]++; + RSN_ADD_CIPHER_TO_SUITE(frm, WLAN_CRYPTO_CIPHER_AES_CCM); + } + if (UCIPHER_IS_GCMP128(crypto_params)) { + selcnt[0]++; + RSN_ADD_CIPHER_TO_SUITE(frm, WLAN_CRYPTO_CIPHER_AES_GCM); + } + if (UCIPHER_IS_TKIP(crypto_params)) { + selcnt[0]++; + RSN_ADD_CIPHER_TO_SUITE(frm, WLAN_CRYPTO_CIPHER_TKIP); } - /* authenticator selector list */ selcnt = frm; @@ -2540,28 +2517,26 @@ uint8_t *wlan_crypto_build_rsnie(struct wlan_objmgr_vdev *vdev, WLAN_CRYPTO_ADDSHORT(frm, 0); if (HAS_MGMT_CIPHER(crypto_params, WLAN_CRYPTO_CIPHER_AES_CMAC)) { - WLAN_CRYPTO_ADDSELECTOR(frm, - wlan_crypto_rsn_cipher_to_suite( - WLAN_CRYPTO_CIPHER_AES_CMAC)); + RSN_ADD_CIPHER_TO_SUITE(frm, + WLAN_CRYPTO_CIPHER_AES_CMAC); } if (HAS_MGMT_CIPHER(crypto_params, WLAN_CRYPTO_CIPHER_AES_GMAC)) { - WLAN_CRYPTO_ADDSELECTOR(frm, - wlan_crypto_rsn_cipher_to_suite( - WLAN_CRYPTO_CIPHER_AES_GMAC)); + RSN_ADD_CIPHER_TO_SUITE(frm, + WLAN_CRYPTO_CIPHER_AES_GMAC); } if (HAS_MGMT_CIPHER(crypto_params, WLAN_CRYPTO_CIPHER_AES_CMAC_256)) { - WLAN_CRYPTO_ADDSELECTOR(frm, - wlan_crypto_rsn_cipher_to_suite( - WLAN_CRYPTO_CIPHER_AES_CMAC_256)); + RSN_ADD_CIPHER_TO_SUITE(frm, + WLAN_CRYPTO_CIPHER_AES_CMAC_256 + ); } if (HAS_MGMT_CIPHER(crypto_params, WLAN_CRYPTO_CIPHER_AES_GMAC_256)) { - WLAN_CRYPTO_ADDSELECTOR(frm, - wlan_crypto_rsn_cipher_to_suite( - WLAN_CRYPTO_CIPHER_AES_GMAC_256)); + RSN_ADD_CIPHER_TO_SUITE(frm, + WLAN_CRYPTO_CIPHER_AES_GMAC_256 + ); } }