aboutsummaryrefslogtreecommitdiffstats
path: root/net/wireless
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 /net/wireless
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>
Diffstat (limited to 'net/wireless')
-rw-r--r--net/wireless/mlme.c16
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}
82EXPORT_SYMBOL(cfg80211_michael_mic_failure); 98EXPORT_SYMBOL(cfg80211_michael_mic_failure);