aboutsummaryrefslogtreecommitdiffstats
path: root/net/wireless
diff options
context:
space:
mode:
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);