1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
diff -ur madwifi.old/net80211/ieee80211_crypto_ccmp.c madwifi.dev/net80211/ieee80211_crypto_ccmp.c
--- madwifi.old/net80211/ieee80211_crypto_ccmp.c 2007-06-02 04:37:47.425966000 +0200
+++ madwifi.dev/net80211/ieee80211_crypto_ccmp.c 2007-06-02 18:38:27.675882768 +0200
@@ -465,6 +465,9 @@
uint8_t *mic, *pos;
u_int space;
+ if (ctx->cc_tfm == NULL)
+ return 0;
+
ctx->cc_vap->iv_stats.is_crypto_ccmp++;
skb = skb0;
@@ -579,6 +582,9 @@
uint8_t *pos, *mic;
u_int space;
+ if (ctx->cc_tfm == NULL)
+ return 0;
+
ctx->cc_vap->iv_stats.is_crypto_ccmp++;
skb = skb0;
diff -ur madwifi.old/net80211/ieee80211_crypto_ccmp.c madwifi.dev/net80211/ieee80211_crypto_ccmp.c
--- madwifi.old/net80211/ieee80211_crypto_ccmp.c 2007-06-02 19:40:56.291006648 +0200
+++ madwifi.dev/net80211/ieee80211_crypto_ccmp.c 2007-06-03 04:19:47.561334192 +0200
@@ -118,6 +118,12 @@
ctx->cc_ic = vap->iv_ic;
ctx->cc_tfm = crypto_alloc_cipher("aes", 0,
CRYPTO_ALG_ASYNC);
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,18)
+ if (IS_ERR(ctx->cc_tfm))
+ ctx->cc_tfm = NULL;
+#endif
+
if (ctx->cc_tfm == NULL) {
IEEE80211_DPRINTF(vap, IEEE80211_MSG_CRYPTO,
"%s: unable to load kernel AES crypto support\n",
|