diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2009-04-19 15:25:43 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-04-22 16:57:17 -0400 |
commit | af8cdcd828ad751fae8e6cbfe94eef9f2f23b14b (patch) | |
tree | 7a00a19c976abbeba16bd04ddc177b6332057c98 /net/mac80211/iface.c | |
parent | 04a773ade0680d862b479d7219973df60f7a3834 (diff) |
mac80211: convert to cfg80211 IBSS API
This converts mac80211 to the new cfg80211 IBSS API, the
wext handling functions are called where appropriate.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/iface.c')
-rw-r--r-- | net/mac80211/iface.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c index 5d60deb219d3..52425975bbbe 100644 --- a/net/mac80211/iface.c +++ b/net/mac80211/iface.c | |||
@@ -235,11 +235,7 @@ static int ieee80211_open(struct net_device *dev) | |||
235 | netif_addr_unlock_bh(local->mdev); | 235 | netif_addr_unlock_bh(local->mdev); |
236 | break; | 236 | break; |
237 | case NL80211_IFTYPE_STATION: | 237 | case NL80211_IFTYPE_STATION: |
238 | case NL80211_IFTYPE_ADHOC: | 238 | sdata->u.mgd.flags &= ~IEEE80211_STA_PREV_BSSID_SET; |
239 | if (sdata->vif.type == NL80211_IFTYPE_STATION) | ||
240 | sdata->u.mgd.flags &= ~IEEE80211_STA_PREV_BSSID_SET; | ||
241 | else | ||
242 | sdata->u.ibss.flags &= ~IEEE80211_IBSS_PREV_BSSID_SET; | ||
243 | /* fall through */ | 239 | /* fall through */ |
244 | default: | 240 | default: |
245 | conf.vif = &sdata->vif; | 241 | conf.vif = &sdata->vif; |
@@ -327,8 +323,6 @@ static int ieee80211_open(struct net_device *dev) | |||
327 | */ | 323 | */ |
328 | if (sdata->vif.type == NL80211_IFTYPE_STATION) | 324 | if (sdata->vif.type == NL80211_IFTYPE_STATION) |
329 | queue_work(local->hw.workqueue, &sdata->u.mgd.work); | 325 | queue_work(local->hw.workqueue, &sdata->u.mgd.work); |
330 | else if (sdata->vif.type == NL80211_IFTYPE_ADHOC) | ||
331 | queue_work(local->hw.workqueue, &sdata->u.ibss.work); | ||
332 | 326 | ||
333 | netif_tx_start_all_queues(dev); | 327 | netif_tx_start_all_queues(dev); |
334 | 328 | ||
@@ -499,7 +493,6 @@ static int ieee80211_stop(struct net_device *dev) | |||
499 | /* fall through */ | 493 | /* fall through */ |
500 | case NL80211_IFTYPE_ADHOC: | 494 | case NL80211_IFTYPE_ADHOC: |
501 | if (sdata->vif.type == NL80211_IFTYPE_ADHOC) { | 495 | if (sdata->vif.type == NL80211_IFTYPE_ADHOC) { |
502 | memset(sdata->u.ibss.bssid, 0, ETH_ALEN); | ||
503 | del_timer_sync(&sdata->u.ibss.timer); | 496 | del_timer_sync(&sdata->u.ibss.timer); |
504 | cancel_work_sync(&sdata->u.ibss.work); | 497 | cancel_work_sync(&sdata->u.ibss.work); |
505 | synchronize_rcu(); | 498 | synchronize_rcu(); |
@@ -653,7 +646,8 @@ static void ieee80211_teardown_sdata(struct net_device *dev) | |||
653 | mesh_rmc_free(sdata); | 646 | mesh_rmc_free(sdata); |
654 | break; | 647 | break; |
655 | case NL80211_IFTYPE_ADHOC: | 648 | case NL80211_IFTYPE_ADHOC: |
656 | kfree_skb(sdata->u.ibss.probe_resp); | 649 | if (WARN_ON(sdata->u.ibss.presp)) |
650 | kfree_skb(sdata->u.ibss.presp); | ||
657 | break; | 651 | break; |
658 | case NL80211_IFTYPE_STATION: | 652 | case NL80211_IFTYPE_STATION: |
659 | kfree(sdata->u.mgd.extra_ie); | 653 | kfree(sdata->u.mgd.extra_ie); |