--- a/net/mac80211/key.h
+++ b/net/mac80211/key.h
-@@ -86,6 +86,7 @@ struct ieee80211_key {
+@@ -90,6 +90,7 @@ struct ieee80211_key {
* Management frames.
*/
u8 rx_pn[NUM_RX_DATA_QUEUES + 1][6];
+ u8 rx_invalid_pn[NUM_RX_DATA_QUEUES + 1];
struct crypto_cipher *tfm;
u32 replays; /* dot11RSNAStatsCCMPReplays */
- /* scratch buffers for virt_to_page() (crypto API) */
+ #ifndef AES_BLOCK_LEN
--- a/net/mac80211/wpa.c
+++ b/net/mac80211/wpa.c
-@@ -407,6 +407,13 @@ ieee80211_crypto_ccmp_encrypt(struct iee
+@@ -457,6 +457,13 @@ ieee80211_crypto_ccmp_encrypt(struct iee
return TX_CONTINUE;
}
ieee80211_rx_result
ieee80211_crypto_ccmp_decrypt(struct ieee80211_rx_data *rx)
-@@ -419,6 +426,7 @@ ieee80211_crypto_ccmp_decrypt(struct iee
+@@ -469,6 +476,7 @@ ieee80211_crypto_ccmp_decrypt(struct iee
u8 pn[CCMP_PN_LEN];
int data_len;
int queue;
hdrlen = ieee80211_hdrlen(hdr->frame_control);
-@@ -452,6 +460,11 @@ ieee80211_crypto_ccmp_decrypt(struct iee
+@@ -503,6 +511,11 @@ ieee80211_crypto_ccmp_decrypt(struct iee
return RX_DROP_UNUSABLE;
}