[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: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Johannes Berg 2007-09-26 15:19:50 +02:00 committed by David S. Miller
parent 51617f0b76
commit b4010e0890
5 changed files with 0 additions and 23 deletions

View File

@ -519,11 +519,6 @@ struct ieee80211_if_init_conf {
* config_interface() call, so copy the value somewhere if you need * config_interface() call, so copy the value somewhere if you need
* it. * it.
* @ssid_len: length of the @ssid field. * @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 * @beacon: beacon template. Valid only if @host_gen_beacon_template in
* &struct ieee80211_hw is set. The driver is responsible of freeing * &struct ieee80211_hw is set. The driver is responsible of freeing
* the sk_buff. * the sk_buff.
@ -538,8 +533,6 @@ struct ieee80211_if_conf {
u8 *bssid; u8 *bssid;
u8 *ssid; u8 *ssid;
size_t ssid_len; size_t ssid_len;
u8 *generic_elem;
size_t generic_elem_len;
struct sk_buff *beacon; struct sk_buff *beacon;
struct ieee80211_tx_control *beacon_control; struct ieee80211_tx_control *beacon_control;
}; };

View File

@ -615,13 +615,9 @@ static int __ieee80211_if_config(struct net_device *dev,
conf.bssid = sdata->u.sta.bssid; conf.bssid = sdata->u.sta.bssid;
conf.ssid = sdata->u.sta.ssid; conf.ssid = sdata->u.sta.ssid;
conf.ssid_len = sdata->u.sta.ssid_len; 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) { } else if (sdata->type == IEEE80211_IF_TYPE_AP) {
conf.ssid = sdata->u.ap.ssid; conf.ssid = sdata->u.ap.ssid;
conf.ssid_len = sdata->u.ap.ssid_len; 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 = beacon;
conf.beacon_control = control; conf.beacon_control = control;
} }

View File

@ -197,8 +197,6 @@ struct ieee80211_if_ap {
u8 ssid[IEEE80211_MAX_SSID_LEN]; u8 ssid[IEEE80211_MAX_SSID_LEN];
size_t 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 /* yes, this looks ugly, but guarantees that we can later use
* bitmap_empty :) * bitmap_empty :)

View File

@ -269,7 +269,6 @@ void ieee80211_if_reinit(struct net_device *dev)
kfree(sdata->u.ap.beacon_head); kfree(sdata->u.ap.beacon_head);
kfree(sdata->u.ap.beacon_tail); kfree(sdata->u.ap.beacon_tail);
kfree(sdata->u.ap.generic_elem);
while ((skb = skb_dequeue(&sdata->u.ap.ps_bc_buf))) { while ((skb = skb_dequeue(&sdata->u.ap.ps_bc_buf))) {
local->total_ps_buffered--; local->total_ps_buffered--;

View File

@ -120,15 +120,6 @@ static int ieee80211_ioctl_siwgenie(struct net_device *dev,
return 0; 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; return -EOPNOTSUPP;
} }