aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2009-06-18 20:45:21 -0400
committerJohn W. Linville <linville@tuxdriver.com>2009-07-10 15:01:47 -0400
commitf58d4ed98bfe7b2febcd6f0d62744b623e4b8371 (patch)
treecd9699a78b744979af5336f45e787806b870495a
parentb5c469108935bacfe6f45005867256801832fdce (diff)
cfg80211: send wext MLME-MICHAELMICFAILURE.indication
Instead of having mac80211 do it itself. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--net/mac80211/event.c18
-rw-r--r--net/wireless/mlme.c16
2 files changed, 17 insertions, 17 deletions
diff --git a/net/mac80211/event.c b/net/mac80211/event.c
index f288d01a6344..3ac636285fb1 100644
--- a/net/mac80211/event.c
+++ b/net/mac80211/event.c
@@ -7,8 +7,7 @@
7 * 7 *
8 * mac80211 - events 8 * mac80211 - events
9 */ 9 */
10 10#include <net/cfg80211.h>
11#include <net/iw_handler.h>
12#include "ieee80211_i.h" 11#include "ieee80211_i.h"
13 12
14/* 13/*
@@ -19,21 +18,6 @@
19void mac80211_ev_michael_mic_failure(struct ieee80211_sub_if_data *sdata, int keyidx, 18void mac80211_ev_michael_mic_failure(struct ieee80211_sub_if_data *sdata, int keyidx,
20 struct ieee80211_hdr *hdr, const u8 *tsc) 19 struct ieee80211_hdr *hdr, const u8 *tsc)
21{ 20{
22 union iwreq_data wrqu;
23 char *buf = kmalloc(128, GFP_ATOMIC);
24
25 if (buf) {
26 /* TODO: needed parameters: count, key type, TSC */
27 sprintf(buf, "MLME-MICHAELMICFAILURE.indication("
28 "keyid=%d %scast addr=%pM)",
29 keyidx, hdr->addr1[0] & 0x01 ? "broad" : "uni",
30 hdr->addr2);
31 memset(&wrqu, 0, sizeof(wrqu));
32 wrqu.data.length = strlen(buf);
33 wireless_send_event(sdata->dev, IWEVCUSTOM, &wrqu, buf);
34 kfree(buf);
35 }
36
37 cfg80211_michael_mic_failure(sdata->dev, hdr->addr2, 21 cfg80211_michael_mic_failure(sdata->dev, hdr->addr2,
38 (hdr->addr1[0] & 0x01) ? 22 (hdr->addr1[0] & 0x01) ?
39 NL80211_KEYTYPE_GROUP : 23 NL80211_KEYTYPE_GROUP :
diff --git a/net/wireless/mlme.c b/net/wireless/mlme.c
index 42184361a109..e56bbea10fc8 100644
--- a/net/wireless/mlme.c
+++ b/net/wireless/mlme.c
@@ -77,6 +77,22 @@ void cfg80211_michael_mic_failure(struct net_device *dev, const u8 *addr,
77{ 77{
78 struct wiphy *wiphy = dev->ieee80211_ptr->wiphy; 78 struct wiphy *wiphy = dev->ieee80211_ptr->wiphy;
79 struct cfg80211_registered_device *rdev = wiphy_to_dev(wiphy); 79 struct cfg80211_registered_device *rdev = wiphy_to_dev(wiphy);
80#ifdef CONFIG_WIRELESS_EXT
81 union iwreq_data wrqu;
82 char *buf = kmalloc(128, GFP_ATOMIC);
83
84 if (buf) {
85 sprintf(buf, "MLME-MICHAELMICFAILURE.indication("
86 "keyid=%d %scast addr=%pM)", key_id,
87 key_type == NL80211_KEYTYPE_GROUP ? "broad" : "uni",
88 addr);
89 memset(&wrqu, 0, sizeof(wrqu));
90 wrqu.data.length = strlen(buf);
91 wireless_send_event(dev, IWEVCUSTOM, &wrqu, buf);
92 kfree(buf);
93 }
94#endif
95
80 nl80211_michael_mic_failure(rdev, dev, addr, key_type, key_id, tsc); 96 nl80211_michael_mic_failure(rdev, dev, addr, key_type, key_id, tsc);
81} 97}
82EXPORT_SYMBOL(cfg80211_michael_mic_failure); 98EXPORT_SYMBOL(cfg80211_michael_mic_failure);