diff options
Diffstat (limited to 'net/mac80211/tx.c')
-rw-r--r-- | net/mac80211/tx.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c index 02ed6f60629a..88a18ffe2975 100644 --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c | |||
@@ -626,6 +626,9 @@ ieee80211_tx_h_select_key(struct ieee80211_tx_data *tx) | |||
626 | tx->key = NULL; | 626 | tx->key = NULL; |
627 | break; | 627 | break; |
628 | case WLAN_CIPHER_SUITE_CCMP: | 628 | case WLAN_CIPHER_SUITE_CCMP: |
629 | case WLAN_CIPHER_SUITE_CCMP_256: | ||
630 | case WLAN_CIPHER_SUITE_GCMP: | ||
631 | case WLAN_CIPHER_SUITE_GCMP_256: | ||
629 | if (!ieee80211_is_data_present(hdr->frame_control) && | 632 | if (!ieee80211_is_data_present(hdr->frame_control) && |
630 | !ieee80211_use_mfp(hdr->frame_control, tx->sta, | 633 | !ieee80211_use_mfp(hdr->frame_control, tx->sta, |
631 | tx->skb)) | 634 | tx->skb)) |
@@ -636,6 +639,9 @@ ieee80211_tx_h_select_key(struct ieee80211_tx_data *tx) | |||
636 | ieee80211_is_mgmt(hdr->frame_control); | 639 | ieee80211_is_mgmt(hdr->frame_control); |
637 | break; | 640 | break; |
638 | case WLAN_CIPHER_SUITE_AES_CMAC: | 641 | case WLAN_CIPHER_SUITE_AES_CMAC: |
642 | case WLAN_CIPHER_SUITE_BIP_CMAC_256: | ||
643 | case WLAN_CIPHER_SUITE_BIP_GMAC_128: | ||
644 | case WLAN_CIPHER_SUITE_BIP_GMAC_256: | ||
639 | if (!ieee80211_is_mgmt(hdr->frame_control)) | 645 | if (!ieee80211_is_mgmt(hdr->frame_control)) |
640 | tx->key = NULL; | 646 | tx->key = NULL; |
641 | break; | 647 | break; |
@@ -1011,9 +1017,21 @@ ieee80211_tx_h_encrypt(struct ieee80211_tx_data *tx) | |||
1011 | case WLAN_CIPHER_SUITE_TKIP: | 1017 | case WLAN_CIPHER_SUITE_TKIP: |
1012 | return ieee80211_crypto_tkip_encrypt(tx); | 1018 | return ieee80211_crypto_tkip_encrypt(tx); |
1013 | case WLAN_CIPHER_SUITE_CCMP: | 1019 | case WLAN_CIPHER_SUITE_CCMP: |
1014 | return ieee80211_crypto_ccmp_encrypt(tx); | 1020 | return ieee80211_crypto_ccmp_encrypt( |
1021 | tx, IEEE80211_CCMP_MIC_LEN); | ||
1022 | case WLAN_CIPHER_SUITE_CCMP_256: | ||
1023 | return ieee80211_crypto_ccmp_encrypt( | ||
1024 | tx, IEEE80211_CCMP_256_MIC_LEN); | ||
1015 | case WLAN_CIPHER_SUITE_AES_CMAC: | 1025 | case WLAN_CIPHER_SUITE_AES_CMAC: |
1016 | return ieee80211_crypto_aes_cmac_encrypt(tx); | 1026 | return ieee80211_crypto_aes_cmac_encrypt(tx); |
1027 | case WLAN_CIPHER_SUITE_BIP_CMAC_256: | ||
1028 | return ieee80211_crypto_aes_cmac_256_encrypt(tx); | ||
1029 | case WLAN_CIPHER_SUITE_BIP_GMAC_128: | ||
1030 | case WLAN_CIPHER_SUITE_BIP_GMAC_256: | ||
1031 | return ieee80211_crypto_aes_gmac_encrypt(tx); | ||
1032 | case WLAN_CIPHER_SUITE_GCMP: | ||
1033 | case WLAN_CIPHER_SUITE_GCMP_256: | ||
1034 | return ieee80211_crypto_gcmp_encrypt(tx); | ||
1017 | default: | 1035 | default: |
1018 | return ieee80211_crypto_hw_encrypt(tx); | 1036 | return ieee80211_crypto_hw_encrypt(tx); |
1019 | } | 1037 | } |