diff --git a/openwrt/package/madwifi/patches/105-no_forced_aes_dep.patch b/openwrt/package/madwifi/patches/105-no_forced_aes_dep.patch new file mode 100644 index 0000000000..fa439c6e96 --- /dev/null +++ b/openwrt/package/madwifi/patches/105-no_forced_aes_dep.patch @@ -0,0 +1,39 @@ +diff -urN madwifi.old/net80211/ieee80211_crypto_ccmp.c madwifi.dev/net80211/ieee80211_crypto_ccmp.c +--- madwifi.old/net80211/ieee80211_crypto_ccmp.c 2006-02-06 21:20:57.000000000 +0100 ++++ madwifi.dev/net80211/ieee80211_crypto_ccmp.c 2006-06-12 22:29:23.000000000 +0200 +@@ -105,12 +105,6 @@ + + ctx->cc_vap = vap; + ctx->cc_ic = vap->iv_ic; +- ctx->cc_tfm = crypto_alloc_tfm("aes", 0); +- if (ctx->cc_tfm == NULL) { +- FREE(ctx, M_DEVBUF); +- _MOD_DEC_USE(THIS_MODULE); +- return NULL; +- } + return ctx; + } + +@@ -137,8 +131,21 @@ + __func__, k->wk_keylen, 128 / NBBY); + return 0; + } +- if (k->wk_flags & IEEE80211_KEY_SWCRYPT) ++ ++ if (k->wk_flags & IEEE80211_KEY_SWCRYPT) { ++ if (ctx->cc_tfm == NULL) ++ ctx->cc_tfm = crypto_alloc_tfm("aes", 0); ++ ++ if (ctx->cc_tfm == NULL) { ++ IEEE80211_DPRINTF(ctx->cc_vap, IEEE80211_MSG_CRYPTO, ++ "%s: Tried to add a software crypto key, but no software crypto available\n", ++ __func__); ++ ++ return 0; ++ } ++ + crypto_cipher_setkey(ctx->cc_tfm, k->wk_key, k->wk_keylen); ++ } + return 1; + } +