提交 b4010e08 编写于 作者: J Johannes Berg 提交者: David S. Miller

[PATCH] mac80211: remove generic IE for AP interfaces

This is not useful since we do not support probe response
offload to hardware at this time and beacons are set in
another way.
Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
上级 51617f0b
......@@ -519,11 +519,6 @@ struct ieee80211_if_init_conf {
* config_interface() call, so copy the value somewhere if you need
* it.
* @ssid_len: length of the @ssid field.
* @generic_elem: used (together with @generic_elem_len) by drivers for
* hardware that generate beacons independently. The pointer is valid
* only during the config_interface() call, so copy the value somewhere
* if you need it.
* @generic_elem_len: length of the generic element.
* @beacon: beacon template. Valid only if @host_gen_beacon_template in
* &struct ieee80211_hw is set. The driver is responsible of freeing
* the sk_buff.
......@@ -538,8 +533,6 @@ struct ieee80211_if_conf {
u8 *bssid;
u8 *ssid;
size_t ssid_len;
u8 *generic_elem;
size_t generic_elem_len;
struct sk_buff *beacon;
struct ieee80211_tx_control *beacon_control;
};
......
......@@ -615,13 +615,9 @@ static int __ieee80211_if_config(struct net_device *dev,
conf.bssid = sdata->u.sta.bssid;
conf.ssid = sdata->u.sta.ssid;
conf.ssid_len = sdata->u.sta.ssid_len;
conf.generic_elem = sdata->u.sta.extra_ie;
conf.generic_elem_len = sdata->u.sta.extra_ie_len;
} else if (sdata->type == IEEE80211_IF_TYPE_AP) {
conf.ssid = sdata->u.ap.ssid;
conf.ssid_len = sdata->u.ap.ssid_len;
conf.generic_elem = sdata->u.ap.generic_elem;
conf.generic_elem_len = sdata->u.ap.generic_elem_len;
conf.beacon = beacon;
conf.beacon_control = control;
}
......
......@@ -197,8 +197,6 @@ struct ieee80211_if_ap {
u8 ssid[IEEE80211_MAX_SSID_LEN];
size_t ssid_len;
u8 *generic_elem;
size_t generic_elem_len;
/* yes, this looks ugly, but guarantees that we can later use
* bitmap_empty :)
......
......@@ -269,7 +269,6 @@ void ieee80211_if_reinit(struct net_device *dev)
kfree(sdata->u.ap.beacon_head);
kfree(sdata->u.ap.beacon_tail);
kfree(sdata->u.ap.generic_elem);
while ((skb = skb_dequeue(&sdata->u.ap.ps_bc_buf))) {
local->total_ps_buffered--;
......
......@@ -120,15 +120,6 @@ static int ieee80211_ioctl_siwgenie(struct net_device *dev,
return 0;
}
if (sdata->type == IEEE80211_IF_TYPE_AP) {
kfree(sdata->u.ap.generic_elem);
sdata->u.ap.generic_elem = kmalloc(data->length, GFP_KERNEL);
if (!sdata->u.ap.generic_elem)
return -ENOMEM;
memcpy(sdata->u.ap.generic_elem, extra, data->length);
sdata->u.ap.generic_elem_len = data->length;
return ieee80211_if_config(dev);
}
return -EOPNOTSUPP;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册