mac80211: Include crypto/aead.h
[firefly-linux-kernel-4.4.55.git] / net / mac80211 / aes_gcm.c
index c2bf6698d7384195bca6e6d3952ab98e44e0be3b..b91c9d7bf6652eca1bd3b659e39ce87bb81ed21d 100644 (file)
@@ -8,9 +8,8 @@
 
 #include <linux/kernel.h>
 #include <linux/types.h>
-#include <linux/crypto.h>
 #include <linux/err.h>
-#include <crypto/aes.h>
+#include <crypto/aead.h>
 
 #include <net/mac80211.h>
 #include "key.h"
@@ -80,11 +79,15 @@ struct crypto_aead *ieee80211_aes_gcm_key_setup_encrypt(const u8 key[],
                return tfm;
 
        err = crypto_aead_setkey(tfm, key, key_len);
-       if (!err)
-               err = crypto_aead_setauthsize(tfm, IEEE80211_GCMP_MIC_LEN);
-       if (!err)
-               return tfm;
+       if (err)
+               goto free_aead;
+       err = crypto_aead_setauthsize(tfm, IEEE80211_GCMP_MIC_LEN);
+       if (err)
+               goto free_aead;
+
+       return tfm;
 
+free_aead:
        crypto_free_aead(tfm);
        return ERR_PTR(err);
 }