From ebbae510eca0b10941749fe1edfaf9a8698b7519 Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Mon, 8 Aug 2011 12:11:52 +0300 Subject: [PATCH] --- yaml --- r: 265494 b: refs/heads/master c: 50d3dfb728e987790cf3d973aaf5fba2433771d8 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/include/net/cfg80211.h | 8 ++++++++ trunk/net/wireless/nl80211.c | 4 ++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index e84a172e683a..b518a27fb19f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d2da587839b29ccc5b920fffdb848d7bdb36f11f +refs/heads/master: 50d3dfb728e987790cf3d973aaf5fba2433771d8 diff --git a/trunk/include/net/cfg80211.h b/trunk/include/net/cfg80211.h index 44e72cc13055..779e3008df4d 100644 --- a/trunk/include/net/cfg80211.h +++ b/trunk/include/net/cfg80211.h @@ -531,6 +531,11 @@ struct sta_bss_parameters { * This number should increase every time the list of stations * changes, i.e. when a station is added or removed, so that * userspace can tell whether it got a consistent snapshot. + * @assoc_req_ies: IEs from (Re)Association Request. + * This is used only when in AP mode with drivers that do not use + * user space MLME/SME implementation. The information is provided for + * the cfg80211_new_sta() calls to notify user space of the IEs. + * @assoc_req_ies_len: Length of assoc_req_ies buffer in octets. */ struct station_info { u32 filled; @@ -553,6 +558,9 @@ struct station_info { struct sta_bss_parameters bss_param; int generation; + + const u8 *assoc_req_ies; + size_t assoc_req_ies_len; }; /** diff --git a/trunk/net/wireless/nl80211.c b/trunk/net/wireless/nl80211.c index 3b5dc9186071..ca7697701076 100644 --- a/trunk/net/wireless/nl80211.c +++ b/trunk/net/wireless/nl80211.c @@ -2236,6 +2236,10 @@ static int nl80211_send_station(struct sk_buff *msg, u32 pid, u32 seq, } nla_nest_end(msg, sinfoattr); + if (sinfo->assoc_req_ies) + NLA_PUT(msg, NL80211_ATTR_IE, sinfo->assoc_req_ies_len, + sinfo->assoc_req_ies); + return genlmsg_end(msg, hdr); nla_put_failure: