aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/iface.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2009-04-19 15:25:43 -0400
committerJohn W. Linville <linville@tuxdriver.com>2009-04-22 16:57:17 -0400
commitaf8cdcd828ad751fae8e6cbfe94eef9f2f23b14b (patch)
tree7a00a19c976abbeba16bd04ddc177b6332057c98 /net/mac80211/iface.c
parent04a773ade0680d862b479d7219973df60f7a3834 (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.c12
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);