mirror of https://gitee.com/openkylin/linux.git
wireless: restore revert lost to merge damage
Restore revert "mac80211: Use IWEVASSOCREQIE instead of IWEVCUSTOM",
originally reverted in commit bf7394ccc1
.
Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
8ec8ebaece
commit
74af025073
|
@ -650,20 +650,51 @@ static void ieee80211_sta_send_apinfo(struct ieee80211_sub_if_data *sdata,
|
|||
static void ieee80211_sta_send_associnfo(struct ieee80211_sub_if_data *sdata,
|
||||
struct ieee80211_if_sta *ifsta)
|
||||
{
|
||||
char *buf;
|
||||
size_t len;
|
||||
int i;
|
||||
union iwreq_data wrqu;
|
||||
|
||||
if (!ifsta->assocreq_ies && !ifsta->assocresp_ies)
|
||||
return;
|
||||
|
||||
buf = kmalloc(50 + 2 * (ifsta->assocreq_ies_len +
|
||||
ifsta->assocresp_ies_len), GFP_KERNEL);
|
||||
if (!buf)
|
||||
return;
|
||||
|
||||
len = sprintf(buf, "ASSOCINFO(");
|
||||
if (ifsta->assocreq_ies) {
|
||||
memset(&wrqu, 0, sizeof(wrqu));
|
||||
wrqu.data.length = ifsta->assocreq_ies_len;
|
||||
wireless_send_event(sdata->dev, IWEVASSOCREQIE, &wrqu,
|
||||
ifsta->assocreq_ies);
|
||||
len += sprintf(buf + len, "ReqIEs=");
|
||||
for (i = 0; i < ifsta->assocreq_ies_len; i++) {
|
||||
len += sprintf(buf + len, "%02x",
|
||||
ifsta->assocreq_ies[i]);
|
||||
}
|
||||
}
|
||||
if (ifsta->assocresp_ies) {
|
||||
memset(&wrqu, 0, sizeof(wrqu));
|
||||
wrqu.data.length = ifsta->assocresp_ies_len;
|
||||
wireless_send_event(sdata->dev, IWEVASSOCRESPIE, &wrqu,
|
||||
ifsta->assocresp_ies);
|
||||
if (ifsta->assocreq_ies)
|
||||
len += sprintf(buf + len, " ");
|
||||
len += sprintf(buf + len, "RespIEs=");
|
||||
for (i = 0; i < ifsta->assocresp_ies_len; i++) {
|
||||
len += sprintf(buf + len, "%02x",
|
||||
ifsta->assocresp_ies[i]);
|
||||
}
|
||||
}
|
||||
len += sprintf(buf + len, ")");
|
||||
|
||||
if (len > IW_CUSTOM_MAX) {
|
||||
len = sprintf(buf, "ASSOCRESPIE=");
|
||||
for (i = 0; i < ifsta->assocresp_ies_len; i++) {
|
||||
len += sprintf(buf + len, "%02x",
|
||||
ifsta->assocresp_ies[i]);
|
||||
}
|
||||
}
|
||||
|
||||
memset(&wrqu, 0, sizeof(wrqu));
|
||||
wrqu.data.length = len;
|
||||
wireless_send_event(dev, IWEVCUSTOM, &wrqu, buf);
|
||||
|
||||
kfree(buf);
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue