Deleted Added
full compact
ieee80211.c (196004) ieee80211.c (196159)
1/*-
2 * Copyright (c) 2001 Atsushi Onoe
3 * Copyright (c) 2002-2009 Sam Leffler, Errno Consulting
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:

--- 11 unchanged lines hidden (view full) ---

20 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 */
26
27#include <sys/cdefs.h>
1/*-
2 * Copyright (c) 2001 Atsushi Onoe
3 * Copyright (c) 2002-2009 Sam Leffler, Errno Consulting
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:

--- 11 unchanged lines hidden (view full) ---

20 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 */
26
27#include <sys/cdefs.h>
28__FBSDID("$FreeBSD: head/sys/net80211/ieee80211.c 196004 2009-07-31 19:12:19Z sam $");
28__FBSDID("$FreeBSD: head/sys/net80211/ieee80211.c 196159 2009-08-12 21:19:19Z sam $");
29
30/*
31 * IEEE 802.11 generic handler
32 */
33#include "opt_wlan.h"
34
35#include <sys/param.h>
36#include <sys/systm.h>

--- 531 unchanged lines hidden (view full) ---

568
569 /* NB: bpfdetach is called by ether_ifdetach and claims all taps */
570 ether_ifdetach(ifp);
571
572 ieee80211_stop(vap);
573
574 /*
575 * Flush any deferred vap tasks.
29
30/*
31 * IEEE 802.11 generic handler
32 */
33#include "opt_wlan.h"
34
35#include <sys/param.h>
36#include <sys/systm.h>

--- 531 unchanged lines hidden (view full) ---

568
569 /* NB: bpfdetach is called by ether_ifdetach and claims all taps */
570 ether_ifdetach(ifp);
571
572 ieee80211_stop(vap);
573
574 /*
575 * Flush any deferred vap tasks.
576 * NB: must be before ether_ifdetach() and removal from ic_vaps list
577 */
578 ieee80211_draintask(ic, &vap->iv_nstate_task);
579 ieee80211_draintask(ic, &vap->iv_swbmiss_task);
580
576 */
577 ieee80211_draintask(ic, &vap->iv_nstate_task);
578 ieee80211_draintask(ic, &vap->iv_swbmiss_task);
579
580 /* XXX band-aid until ifnet handles this for us */
581 taskqueue_drain(taskqueue_swi, &ifp->if_linktask);
582
581 IEEE80211_LOCK(ic);
582 KASSERT(vap->iv_state == IEEE80211_S_INIT , ("vap still running"));
583 TAILQ_REMOVE(&ic->ic_vaps, vap, iv_next);
584 ieee80211_syncflag_locked(ic, IEEE80211_F_WME);
585#ifdef IEEE80211_SUPPORT_SUPERG
586 ieee80211_syncflag_locked(ic, IEEE80211_F_TURBOP);
587#endif
588 ieee80211_syncflag_locked(ic, IEEE80211_F_PCF);

--- 1042 unchanged lines hidden ---
583 IEEE80211_LOCK(ic);
584 KASSERT(vap->iv_state == IEEE80211_S_INIT , ("vap still running"));
585 TAILQ_REMOVE(&ic->ic_vaps, vap, iv_next);
586 ieee80211_syncflag_locked(ic, IEEE80211_F_WME);
587#ifdef IEEE80211_SUPPORT_SUPERG
588 ieee80211_syncflag_locked(ic, IEEE80211_F_TURBOP);
589#endif
590 ieee80211_syncflag_locked(ic, IEEE80211_F_PCF);

--- 1042 unchanged lines hidden ---