ieee80211.c (2e370a5c7a5528afb124f6273136736e5d5fb798) ieee80211.c (e1cfcbcb4e72759fea73161c2dc0761c09a8d788)
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:

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

508 ether_ifattach(ifp, vap->iv_myaddr);
509 /* hook output method setup by ether_ifattach */
510 vap->iv_output = ifp->if_output;
511 ifp->if_output = ieee80211_output;
512 /* NB: if_mtu set by ether_ifattach to ETHERMTU */
513
514 IEEE80211_LOCK(ic);
515 TAILQ_INSERT_TAIL(&ic->ic_vaps, vap, iv_next);
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:

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

508 ether_ifattach(ifp, vap->iv_myaddr);
509 /* hook output method setup by ether_ifattach */
510 vap->iv_output = ifp->if_output;
511 ifp->if_output = ieee80211_output;
512 /* NB: if_mtu set by ether_ifattach to ETHERMTU */
513
514 IEEE80211_LOCK(ic);
515 TAILQ_INSERT_TAIL(&ic->ic_vaps, vap, iv_next);
516 if (vap->iv_opmode == IEEE80211_M_MONITOR)
517 ic->ic_monvaps++;
518 ieee80211_syncflag_locked(ic, IEEE80211_F_WME);
519#ifdef IEEE80211_SUPPORT_SUPERG
520 ieee80211_syncflag_locked(ic, IEEE80211_F_TURBOP);
521#endif
522 ieee80211_syncflag_locked(ic, IEEE80211_F_PCF);
523 ieee80211_syncflag_locked(ic, IEEE80211_F_BURST);
524 ieee80211_syncflag_ext_locked(ic, IEEE80211_FEXT_HT);
525 ieee80211_syncflag_ext_locked(ic, IEEE80211_FEXT_USEHT40);

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

570 * NB: must be before ether_ifdetach() and removal from ic_vaps list
571 */
572 ieee80211_draintask(ic, &vap->iv_nstate_task);
573 ieee80211_draintask(ic, &vap->iv_swbmiss_task);
574
575 IEEE80211_LOCK(ic);
576 KASSERT(vap->iv_state == IEEE80211_S_INIT , ("vap still running"));
577 TAILQ_REMOVE(&ic->ic_vaps, vap, iv_next);
516 ieee80211_syncflag_locked(ic, IEEE80211_F_WME);
517#ifdef IEEE80211_SUPPORT_SUPERG
518 ieee80211_syncflag_locked(ic, IEEE80211_F_TURBOP);
519#endif
520 ieee80211_syncflag_locked(ic, IEEE80211_F_PCF);
521 ieee80211_syncflag_locked(ic, IEEE80211_F_BURST);
522 ieee80211_syncflag_ext_locked(ic, IEEE80211_FEXT_HT);
523 ieee80211_syncflag_ext_locked(ic, IEEE80211_FEXT_USEHT40);

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

568 * NB: must be before ether_ifdetach() and removal from ic_vaps list
569 */
570 ieee80211_draintask(ic, &vap->iv_nstate_task);
571 ieee80211_draintask(ic, &vap->iv_swbmiss_task);
572
573 IEEE80211_LOCK(ic);
574 KASSERT(vap->iv_state == IEEE80211_S_INIT , ("vap still running"));
575 TAILQ_REMOVE(&ic->ic_vaps, vap, iv_next);
578 if (vap->iv_opmode == IEEE80211_M_MONITOR)
579 ic->ic_monvaps--;
580 ieee80211_syncflag_locked(ic, IEEE80211_F_WME);
581#ifdef IEEE80211_SUPPORT_SUPERG
582 ieee80211_syncflag_locked(ic, IEEE80211_F_TURBOP);
583#endif
584 ieee80211_syncflag_locked(ic, IEEE80211_F_PCF);
585 ieee80211_syncflag_locked(ic, IEEE80211_F_BURST);
586 ieee80211_syncflag_ext_locked(ic, IEEE80211_FEXT_HT);
587 ieee80211_syncflag_ext_locked(ic, IEEE80211_FEXT_USEHT40);

--- 960 unchanged lines hidden ---
576 ieee80211_syncflag_locked(ic, IEEE80211_F_WME);
577#ifdef IEEE80211_SUPPORT_SUPERG
578 ieee80211_syncflag_locked(ic, IEEE80211_F_TURBOP);
579#endif
580 ieee80211_syncflag_locked(ic, IEEE80211_F_PCF);
581 ieee80211_syncflag_locked(ic, IEEE80211_F_BURST);
582 ieee80211_syncflag_ext_locked(ic, IEEE80211_FEXT_HT);
583 ieee80211_syncflag_ext_locked(ic, IEEE80211_FEXT_USEHT40);

--- 960 unchanged lines hidden ---