aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2007-09-26 09:19:50 -0400
committerDavid S. Miller <davem@sunset.davemloft.net>2007-10-10 19:53:17 -0400
commitb4010e08907bdafe8bf4a3fe7ef9b52ddec4dda5 (patch)
tree10651fb231ff00dac4735d14079e8e241d44c6ce
parent51617f0b76389b29740aa9d7736df99b75d1d9ec (diff)
[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>
-rw-r--r--include/net/mac80211.h7
-rw-r--r--net/mac80211/ieee80211.c4
-rw-r--r--net/mac80211/ieee80211_i.h2
-rw-r--r--net/mac80211/ieee80211_iface.c1
-rw-r--r--net/mac80211/ieee80211_ioctl.c9
5 files changed, 0 insertions, 23 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index 8fb975f0bed4..6ec12bd3a3ec 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -519,11 +519,6 @@ struct ieee80211_if_init_conf {
519 * config_interface() call, so copy the value somewhere if you need 519 * config_interface() call, so copy the value somewhere if you need
520 * it. 520 * it.
521 * @ssid_len: length of the @ssid field. 521 * @ssid_len: length of the @ssid field.
522 * @generic_elem: used (together with @generic_elem_len) by drivers for
523 * hardware that generate beacons independently. The pointer is valid
524 * only during the config_interface() call, so copy the value somewhere
525 * if you need it.
526 * @generic_elem_len: length of the generic element.
527 * @beacon: beacon template. Valid only if @host_gen_beacon_template in 522 * @beacon: beacon template. Valid only if @host_gen_beacon_template in
528 * &struct ieee80211_hw is set. The driver is responsible of freeing 523 * &struct ieee80211_hw is set. The driver is responsible of freeing
529 * the sk_buff. 524 * the sk_buff.
@@ -538,8 +533,6 @@ struct ieee80211_if_conf {
538 u8 *bssid; 533 u8 *bssid;
539 u8 *ssid; 534 u8 *ssid;
540 size_t ssid_len; 535 size_t ssid_len;
541 u8 *generic_elem;
542 size_t generic_elem_len;
543 struct sk_buff *beacon; 536 struct sk_buff *beacon;
544 struct ieee80211_tx_control *beacon_control; 537 struct ieee80211_tx_control *beacon_control;
545}; 538};
diff --git a/net/mac80211/ieee80211.c b/net/mac80211/ieee80211.c
index 2501bff0d15e..210319f9ea2f 100644
--- a/net/mac80211/ieee80211.c
+++ b/net/mac80211/ieee80211.c
@@ -615,13 +615,9 @@ static int __ieee80211_if_config(struct net_device *dev,
615 conf.bssid = sdata->u.sta.bssid; 615 conf.bssid = sdata->u.sta.bssid;
616 conf.ssid = sdata->u.sta.ssid; 616 conf.ssid = sdata->u.sta.ssid;
617 conf.ssid_len = sdata->u.sta.ssid_len; 617 conf.ssid_len = sdata->u.sta.ssid_len;
618 conf.generic_elem = sdata->u.sta.extra_ie;
619 conf.generic_elem_len = sdata->u.sta.extra_ie_len;
620 } else if (sdata->type == IEEE80211_IF_TYPE_AP) { 618 } else if (sdata->type == IEEE80211_IF_TYPE_AP) {
621 conf.ssid = sdata->u.ap.ssid; 619 conf.ssid = sdata->u.ap.ssid;
622 conf.ssid_len = sdata->u.ap.ssid_len; 620 conf.ssid_len = sdata->u.ap.ssid_len;
623 conf.generic_elem = sdata->u.ap.generic_elem;
624 conf.generic_elem_len = sdata->u.ap.generic_elem_len;
625 conf.beacon = beacon; 621 conf.beacon = beacon;
626 conf.beacon_control = control; 622 conf.beacon_control = control;
627 } 623 }
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h
index d2f8c8e57ac4..0c9548a0a4ec 100644
--- a/net/mac80211/ieee80211_i.h
+++ b/net/mac80211/ieee80211_i.h
@@ -197,8 +197,6 @@ struct ieee80211_if_ap {
197 197
198 u8 ssid[IEEE80211_MAX_SSID_LEN]; 198 u8 ssid[IEEE80211_MAX_SSID_LEN];
199 size_t ssid_len; 199 size_t ssid_len;
200 u8 *generic_elem;
201 size_t generic_elem_len;
202 200
203 /* yes, this looks ugly, but guarantees that we can later use 201 /* yes, this looks ugly, but guarantees that we can later use
204 * bitmap_empty :) 202 * bitmap_empty :)
diff --git a/net/mac80211/ieee80211_iface.c b/net/mac80211/ieee80211_iface.c
index 60cee6e602d2..08c1e188d4b8 100644
--- a/net/mac80211/ieee80211_iface.c
+++ b/net/mac80211/ieee80211_iface.c
@@ -269,7 +269,6 @@ void ieee80211_if_reinit(struct net_device *dev)
269 269
270 kfree(sdata->u.ap.beacon_head); 270 kfree(sdata->u.ap.beacon_head);
271 kfree(sdata->u.ap.beacon_tail); 271 kfree(sdata->u.ap.beacon_tail);
272 kfree(sdata->u.ap.generic_elem);
273 272
274 while ((skb = skb_dequeue(&sdata->u.ap.ps_bc_buf))) { 273 while ((skb = skb_dequeue(&sdata->u.ap.ps_bc_buf))) {
275 local->total_ps_buffered--; 274 local->total_ps_buffered--;
diff --git a/net/mac80211/ieee80211_ioctl.c b/net/mac80211/ieee80211_ioctl.c
index 3c324c3bcd9c..48e68434b38a 100644
--- a/net/mac80211/ieee80211_ioctl.c
+++ b/net/mac80211/ieee80211_ioctl.c
@@ -120,15 +120,6 @@ static int ieee80211_ioctl_siwgenie(struct net_device *dev,
120 return 0; 120 return 0;
121 } 121 }
122 122
123 if (sdata->type == IEEE80211_IF_TYPE_AP) {
124 kfree(sdata->u.ap.generic_elem);
125 sdata->u.ap.generic_elem = kmalloc(data->length, GFP_KERNEL);
126 if (!sdata->u.ap.generic_elem)
127 return -ENOMEM;
128 memcpy(sdata->u.ap.generic_elem, extra, data->length);
129 sdata->u.ap.generic_elem_len = data->length;
130 return ieee80211_if_config(dev);
131 }
132 return -EOPNOTSUPP; 123 return -EOPNOTSUPP;
133} 124}
134 125