diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2007-12-18 20:03:33 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-01-28 18:09:38 -0500 |
commit | 5dfdaf58d61f06a458529430c24b1191ea4d1a27 (patch) | |
tree | bd3fac57f66e80bf2a31d253af19093f4020ba79 /net/mac80211/ieee80211_iface.c | |
parent | 51fb61e76d952e6bc2fbdd9f0d38425fbab1cf31 (diff) |
mac80211: add beacon configuration via cfg80211
This patch implements the cfg80211 hooks for configuring beaconing
on an access point interface in mac80211. While doing so, it fixes
a number of races that could badly crash the machine when the
beacon is changed while being requested by the driver.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/ieee80211_iface.c')
-rw-r--r-- | net/mac80211/ieee80211_iface.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/net/mac80211/ieee80211_iface.c b/net/mac80211/ieee80211_iface.c index be96aa84c79a..92f1eb2da311 100644 --- a/net/mac80211/ieee80211_iface.c +++ b/net/mac80211/ieee80211_iface.c | |||
@@ -126,7 +126,6 @@ void ieee80211_if_set_type(struct net_device *dev, int type) | |||
126 | sdata->u.vlan.ap = NULL; | 126 | sdata->u.vlan.ap = NULL; |
127 | break; | 127 | break; |
128 | case IEEE80211_IF_TYPE_AP: | 128 | case IEEE80211_IF_TYPE_AP: |
129 | sdata->u.ap.dtim_period = 2; | ||
130 | sdata->u.ap.force_unicast_rateidx = -1; | 129 | sdata->u.ap.force_unicast_rateidx = -1; |
131 | sdata->u.ap.max_ratectrl_rateidx = -1; | 130 | sdata->u.ap.max_ratectrl_rateidx = -1; |
132 | skb_queue_head_init(&sdata->u.ap.ps_bc_buf); | 131 | skb_queue_head_init(&sdata->u.ap.ps_bc_buf); |
@@ -207,8 +206,7 @@ void ieee80211_if_reinit(struct net_device *dev) | |||
207 | } | 206 | } |
208 | } | 207 | } |
209 | 208 | ||
210 | kfree(sdata->u.ap.beacon_head); | 209 | kfree(sdata->u.ap.beacon); |
211 | kfree(sdata->u.ap.beacon_tail); | ||
212 | 210 | ||
213 | while ((skb = skb_dequeue(&sdata->u.ap.ps_bc_buf))) { | 211 | while ((skb = skb_dequeue(&sdata->u.ap.ps_bc_buf))) { |
214 | local->total_ps_buffered--; | 212 | local->total_ps_buffered--; |