aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/tx.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/mac80211/tx.c')
-rw-r--r--net/mac80211/tx.c20
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 }