diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2009-06-18 20:45:21 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-07-10 15:01:47 -0400 |
commit | f58d4ed98bfe7b2febcd6f0d62744b623e4b8371 (patch) | |
tree | cd9699a78b744979af5336f45e787806b870495a /net/wireless | |
parent | b5c469108935bacfe6f45005867256801832fdce (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>
Diffstat (limited to 'net/wireless')
-rw-r--r-- | net/wireless/mlme.c | 16 |
1 files changed, 16 insertions, 0 deletions
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 | } |
82 | EXPORT_SYMBOL(cfg80211_michael_mic_failure); | 98 | EXPORT_SYMBOL(cfg80211_michael_mic_failure); |