80211 - Further ifp->if_softc -> ic_softc conversions in wlan drivers.
authorImre Vadász <imre@vdsz.com>
Sat, 7 May 2016 21:14:46 +0000 (23:14 +0200)
committerImre Vadász <imre@vdsz.com>
Mon, 9 May 2016 18:42:42 +0000 (20:42 +0200)
13 files changed:
sys/dev/netif/ath/ath/if_ath.c
sys/dev/netif/ath/ath/if_ath_keycache.c
sys/dev/netif/ath/ath/if_ath_rx.c
sys/dev/netif/ath/ath/if_ath_tdma.c
sys/dev/netif/ath/ath/if_ath_tx.c
sys/dev/netif/bwn/bwn/if_bwn.c
sys/dev/netif/iwm/if_iwm.c
sys/dev/netif/iwn/if_iwn.c
sys/dev/netif/ral/rt2560.c
sys/dev/netif/ral/rt2661.c
sys/dev/netif/ral/rt2860.c
sys/dev/netif/wi/if_wi.c
sys/dev/netif/wpi/if_wpi.c

index 8cb2bd1..64712a6 100644 (file)
@@ -1450,7 +1450,7 @@ ath_vap_create(struct ieee80211com *ic, const char name[IFNAMSIZ], int unit,
     const uint8_t bssid[IEEE80211_ADDR_LEN],
     const uint8_t mac0[IEEE80211_ADDR_LEN])
 {
-       struct ath_softc *sc = ic->ic_ifp->if_softc;
+       struct ath_softc *sc = ic->ic_softc;
        struct ath_vap *avp;
        struct ieee80211vap *vap;
        uint8_t mac[IEEE80211_ADDR_LEN];
@@ -1708,7 +1708,7 @@ ath_vap_delete(struct ieee80211vap *vap)
 {
        struct ieee80211com *ic = vap->iv_ic;
        struct ifnet *ifp = ic->ic_ifp;
-       struct ath_softc *sc = ifp->if_softc;
+       struct ath_softc *sc = ic->ic_softc;
        struct ath_hal *ah = sc->sc_ah;
        struct ath_vap *avp = ATH_VAP(vap);
 
@@ -2315,7 +2315,7 @@ ath_fatal_proc(void *arg, int pending)
 static void
 ath_bmiss_vap(struct ieee80211vap *vap)
 {
-       struct ath_softc *sc = vap->iv_ic->ic_ifp->if_softc;
+       struct ath_softc *sc = vap->iv_ic->ic_softc;
 
        /*
         * Workaround phantom bmiss interrupts by sanity-checking
@@ -2336,8 +2336,6 @@ ath_bmiss_vap(struct ieee80211vap *vap)
        ATH_UNLOCK(sc);
 
        if ((vap->iv_flags_ext & IEEE80211_FEXT_SWBMISS) == 0) {
-               struct ifnet *ifp = vap->iv_ic->ic_ifp;
-               struct ath_softc *sc = ifp->if_softc;
                u_int64_t lastrx = sc->sc_lastrx;
                u_int64_t tsf = ath_hal_gettsf64(sc->sc_ah);
                /* XXX should take a locked ref to iv_bss */
@@ -2837,8 +2835,8 @@ ath_stop(struct ifnet *ifp)
 int
 ath_reset(struct ifnet *ifp, ATH_RESET_TYPE reset_type)
 {
-       struct ath_softc *sc = ifp->if_softc;
        struct ieee80211com *ic = ifp->if_l2com;
+       struct ath_softc *sc = ic->ic_softc;
        struct ath_hal *ah = sc->sc_ah;
        HAL_STATUS status;
        int i;
@@ -3033,7 +3031,7 @@ ath_reset_vap(struct ieee80211vap *vap, u_long cmd)
 {
        struct ieee80211com *ic = vap->iv_ic;
        struct ifnet *ifp = ic->ic_ifp;
-       struct ath_softc *sc = ifp->if_softc;
+       struct ath_softc *sc = ic->ic_softc;
        struct ath_hal *ah = sc->sc_ah;
 
        switch (cmd) {
@@ -3244,7 +3242,7 @@ static int
 ath_transmit(struct ifnet *ifp, struct mbuf *m)
 {
        struct ieee80211com *ic = ifp->if_l2com;
-       struct ath_softc *sc = ic->ic_ifp->if_softc;
+       struct ath_softc *sc = ic->ic_softc;
        struct ieee80211_node *ni;
        struct mbuf *next;
        struct ath_buf *bf;
@@ -3560,8 +3558,7 @@ ath_media_change(struct ifnet *ifp)
 static void
 ath_key_update_begin(struct ieee80211vap *vap)
 {
-       struct ifnet *ifp = vap->iv_ic->ic_ifp;
-       struct ath_softc *sc = ifp->if_softc;
+       struct ath_softc *sc = vap->iv_ic->ic_softc;
 
        DPRINTF(sc, ATH_DEBUG_KEYCACHE, "%s:\n", __func__);
        taskqueue_block(sc->sc_tq);
@@ -3570,8 +3567,7 @@ ath_key_update_begin(struct ieee80211vap *vap)
 static void
 ath_key_update_end(struct ieee80211vap *vap)
 {
-       struct ifnet *ifp = vap->iv_ic->ic_ifp;
-       struct ath_softc *sc = ifp->if_softc;
+       struct ath_softc *sc = vap->iv_ic->ic_softc;
 
        DPRINTF(sc, ATH_DEBUG_KEYCACHE, "%s:\n", __func__);
        taskqueue_unblock(sc->sc_tq);
@@ -4190,7 +4186,7 @@ static struct ieee80211_node *
 ath_node_alloc(struct ieee80211vap *vap, const uint8_t mac[IEEE80211_ADDR_LEN])
 {
        struct ieee80211com *ic = vap->iv_ic;
-       struct ath_softc *sc = ic->ic_ifp->if_softc;
+       struct ath_softc *sc = ic->ic_softc;
        const size_t space = sizeof(struct ath_node) + sc->sc_rc->arc_space;
        struct ath_node *an;
 
@@ -4218,7 +4214,7 @@ static void
 ath_node_cleanup(struct ieee80211_node *ni)
 {
        struct ieee80211com *ic = ni->ni_ic;
-       struct ath_softc *sc = ic->ic_ifp->if_softc;
+       struct ath_softc *sc = ic->ic_softc;
 
        DPRINTF(sc, ATH_DEBUG_NODE, "%s: %s: an %p\n", __func__,
            ath_hal_ether_sprintf(ni->ni_macaddr), ATH_NODE(ni));
@@ -4233,7 +4229,7 @@ static void
 ath_node_free(struct ieee80211_node *ni)
 {
        struct ieee80211com *ic = ni->ni_ic;
-       struct ath_softc *sc = ic->ic_ifp->if_softc;
+       struct ath_softc *sc = ic->ic_softc;
 
        DPRINTF(sc, ATH_DEBUG_NODE, "%s: %s: an %p\n", __func__,
            ath_hal_ether_sprintf(ni->ni_macaddr), ATH_NODE(ni));
@@ -4245,7 +4241,7 @@ static void
 ath_node_getsignal(const struct ieee80211_node *ni, int8_t *rssi, int8_t *noise)
 {
        struct ieee80211com *ic = ni->ni_ic;
-       struct ath_softc *sc = ic->ic_ifp->if_softc;
+       struct ath_softc *sc = ic->ic_softc;
        struct ath_hal *ah = sc->sc_ah;
 
        *rssi = ic->ic_node_getrssi(ni);
@@ -4458,7 +4454,7 @@ ath_txq_update(struct ath_softc *sc, int ac)
 int
 ath_wme_update(struct ieee80211com *ic)
 {
-       struct ath_softc *sc = ic->ic_ifp->if_softc;
+       struct ath_softc *sc = ic->ic_softc;
 
        return !ath_txq_update(sc, WME_AC_BE) ||
            !ath_txq_update(sc, WME_AC_BK) ||
@@ -5853,7 +5849,7 @@ static void
 ath_scan_start(struct ieee80211com *ic)
 {
        struct ifnet *ifp = ic->ic_ifp;
-       struct ath_softc *sc = ifp->if_softc;
+       struct ath_softc *sc = ic->ic_softc;
        struct ath_hal *ah = sc->sc_ah;
        u_int32_t rfilt;
 
@@ -5877,8 +5873,7 @@ ath_scan_start(struct ieee80211com *ic)
 static void
 ath_scan_end(struct ieee80211com *ic)
 {
-       struct ifnet *ifp = ic->ic_ifp;
-       struct ath_softc *sc = ifp->if_softc;
+       struct ath_softc *sc = ic->ic_softc;
        struct ath_hal *ah = sc->sc_ah;
        u_int32_t rfilt;
 
@@ -5918,8 +5913,7 @@ ath_scan_end(struct ieee80211com *ic)
 static void
 ath_update_chw(struct ieee80211com *ic)
 {
-       struct ifnet *ifp = ic->ic_ifp;
-       struct ath_softc *sc = ifp->if_softc;
+       struct ath_softc *sc = ic->ic_softc;
 
        DPRINTF(sc, ATH_DEBUG_STATE, "%s: called\n", __func__);
        ath_set_channel(ic);
@@ -5929,8 +5923,7 @@ ath_update_chw(struct ieee80211com *ic)
 static void
 ath_set_channel(struct ieee80211com *ic)
 {
-       struct ifnet *ifp = ic->ic_ifp;
-       struct ath_softc *sc = ifp->if_softc;
+       struct ath_softc *sc = ic->ic_softc;
 
        ATH_LOCK(sc);
        ath_power_set_power_state(sc, HAL_PM_AWAKE);
@@ -5972,7 +5965,7 @@ static int
 ath_newstate(struct ieee80211vap *vap, enum ieee80211_state nstate, int arg)
 {
        struct ieee80211com *ic = vap->iv_ic;
-       struct ath_softc *sc = ic->ic_ifp->if_softc;
+       struct ath_softc *sc = ic->ic_softc;
        struct ath_vap *avp = ATH_VAP(vap);
        struct ath_hal *ah = sc->sc_ah;
        struct ieee80211_node *ni = NULL;
@@ -6308,7 +6301,7 @@ static void
 ath_setup_stationkey(struct ieee80211_node *ni)
 {
        struct ieee80211vap *vap = ni->ni_vap;
-       struct ath_softc *sc = vap->iv_ic->ic_ifp->if_softc;
+       struct ath_softc *sc = vap->iv_ic->ic_softc;
        ieee80211_keyix keyix, rxkeyix;
 
        /* XXX should take a locked ref to vap->iv_bss */
@@ -6341,7 +6334,7 @@ ath_newassoc(struct ieee80211_node *ni, int isnew)
 {
        struct ath_node *an = ATH_NODE(ni);
        struct ieee80211vap *vap = ni->ni_vap;
-       struct ath_softc *sc = vap->iv_ic->ic_ifp->if_softc;
+       struct ath_softc *sc = vap->iv_ic->ic_softc;
        const struct ieee80211_txparam *tp = ni->ni_txparms;
 
        an->an_mcastrix = ath_tx_findrix(sc, tp->mcastrate);
@@ -6391,7 +6384,7 @@ static int
 ath_setregdomain(struct ieee80211com *ic, struct ieee80211_regdomain *reg,
        int nchans, struct ieee80211_channel chans[])
 {
-       struct ath_softc *sc = ic->ic_ifp->if_softc;
+       struct ath_softc *sc = ic->ic_softc;
        struct ath_hal *ah = sc->sc_ah;
        HAL_STATUS status;
 
@@ -6415,7 +6408,7 @@ static void
 ath_getradiocaps(struct ieee80211com *ic,
        int maxchans, int *nchans, struct ieee80211_channel chans[])
 {
-       struct ath_softc *sc = ic->ic_ifp->if_softc;
+       struct ath_softc *sc = ic->ic_softc;
        struct ath_hal *ah = sc->sc_ah;
 
        DPRINTF(sc, ATH_DEBUG_REGDOMAIN, "%s: use rd %u cc %d\n",
@@ -6797,8 +6790,8 @@ ath_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
 {
 #define        IS_RUNNING(ifp) \
        ((ifp->if_flags & IFF_UP) && (ifp->if_flags & IFF_RUNNING))
-       struct ath_softc *sc = ifp->if_softc;
        struct ieee80211com *ic = ifp->if_l2com;
+       struct ath_softc *sc = ic->ic_softc;
        struct ifreq *ifr = (struct ifreq *)data;
        const HAL_RATE_TABLE *rt;
        int error = 0;
@@ -6974,7 +6967,7 @@ ath_node_powersave(struct ieee80211_node *ni, int enable)
 #ifdef ATH_SW_PSQ
        struct ath_node *an = ATH_NODE(ni);
        struct ieee80211com *ic = ni->ni_ic;
-       struct ath_softc *sc = ic->ic_ifp->if_softc;
+       struct ath_softc *sc = ic->ic_softc;
        struct ath_vap *avp = ATH_VAP(ni->ni_vap);
 
        /* XXX and no TXQ locks should be held here */
@@ -7040,7 +7033,7 @@ ath_node_set_tim(struct ieee80211_node *ni, int enable)
 {
 #ifdef ATH_SW_PSQ
        struct ieee80211com *ic = ni->ni_ic;
-       struct ath_softc *sc = ic->ic_ifp->if_softc;
+       struct ath_softc *sc = ic->ic_softc;
        struct ath_node *an = ATH_NODE(ni);
        struct ath_vap *avp = ATH_VAP(ni->ni_vap);
        int changed = 0;
@@ -7238,7 +7231,7 @@ ath_node_recv_pspoll(struct ieee80211_node *ni, struct mbuf *m)
        struct ath_node *an;
        struct ath_vap *avp;
        struct ieee80211com *ic = ni->ni_ic;
-       struct ath_softc *sc = ic->ic_ifp->if_softc;
+       struct ath_softc *sc = ic->ic_softc;
        int tid;
 
        /* Just paranoia */
index 7987ab8..35a4c55 100644 (file)
@@ -423,7 +423,7 @@ int
 ath_key_alloc(struct ieee80211vap *vap, struct ieee80211_key *k,
        ieee80211_keyix *keyix, ieee80211_keyix *rxkeyix)
 {
-       struct ath_softc *sc = vap->iv_ic->ic_ifp->if_softc;
+       struct ath_softc *sc = vap->iv_ic->ic_softc;
 
        /*
         * Group key allocation must be handled specially for
@@ -491,7 +491,7 @@ ath_key_alloc(struct ieee80211vap *vap, struct ieee80211_key *k,
 int
 ath_key_delete(struct ieee80211vap *vap, const struct ieee80211_key *k)
 {
-       struct ath_softc *sc = vap->iv_ic->ic_ifp->if_softc;
+       struct ath_softc *sc = vap->iv_ic->ic_softc;
        struct ath_hal *ah = sc->sc_ah;
        const struct ieee80211_cipher *cip = k->wk_cipher;
        u_int keyix = k->wk_keyix;
@@ -536,7 +536,7 @@ int
 ath_key_set(struct ieee80211vap *vap, const struct ieee80211_key *k,
        const u_int8_t mac[IEEE80211_ADDR_LEN])
 {
-       struct ath_softc *sc = vap->iv_ic->ic_ifp->if_softc;
+       struct ath_softc *sc = vap->iv_ic->ic_softc;
 
        return ath_keyset(sc, vap, k, vap->iv_bss);
 }
index b55c9e4..13b19ee 100644 (file)
@@ -335,7 +335,7 @@ ath_recv_mgmt(struct ieee80211_node *ni, struct mbuf *m,
        int subtype, const struct ieee80211_rx_stats *rxs, int rssi, int nf)
 {
        struct ieee80211vap *vap = ni->ni_vap;
-       struct ath_softc *sc = vap->iv_ic->ic_ifp->if_softc;
+       struct ath_softc *sc = vap->iv_ic->ic_softc;
        uint64_t tsf_beacon_old, tsf_beacon;
        uint64_t nexttbtt;
        int64_t tsf_delta;
index cea09cf..b587dc0 100644 (file)
@@ -356,7 +356,7 @@ ath_tdma_update(struct ieee80211_node *ni,
 #define        TU_TO_TSF(_tu)  (((u_int64_t)(_tu)) << 10)
        struct ieee80211vap *vap = ni->ni_vap;
        struct ieee80211com *ic = ni->ni_ic;
-       struct ath_softc *sc = ic->ic_ifp->if_softc;
+       struct ath_softc *sc = ic->ic_softc;
        struct ath_hal *ah = sc->sc_ah;
        const HAL_RATE_TABLE *rt = sc->sc_currates;
        u_int64_t tsf, rstamp, nextslot, nexttbtt, nexttbtt_full;
index 0cdf904..cc80a8f 100644 (file)
@@ -2358,7 +2358,7 @@ ath_raw_xmit(struct ieee80211_node *ni, struct mbuf *m,
 {
        struct ieee80211com *ic = ni->ni_ic;
        struct ifnet *ifp = ic->ic_ifp;
-       struct ath_softc *sc = ifp->if_softc;
+       struct ath_softc *sc = ic->ic_softc;
        struct ath_buf *bf;
        struct ieee80211_frame *wh = mtod(m, struct ieee80211_frame *);
        int error = 0;
@@ -5747,7 +5747,7 @@ int
 ath_addba_request(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap,
     int dialogtoken, int baparamset, int batimeout)
 {
-       struct ath_softc *sc = ni->ni_ic->ic_ifp->if_softc;
+       struct ath_softc *sc = ni->ni_ic->ic_softc;
        int tid = tap->txa_tid;
        struct ath_node *an = ATH_NODE(ni);
        struct ath_tid *atid = &an->an_tid[tid];
@@ -5824,7 +5824,7 @@ int
 ath_addba_response(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap,
     int status, int code, int batimeout)
 {
-       struct ath_softc *sc = ni->ni_ic->ic_ifp->if_softc;
+       struct ath_softc *sc = ni->ni_ic->ic_softc;
        int tid = tap->txa_tid;
        struct ath_node *an = ATH_NODE(ni);
        struct ath_tid *atid = &an->an_tid[tid];
@@ -5870,7 +5870,7 @@ ath_addba_response(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap,
 void
 ath_addba_stop(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap)
 {
-       struct ath_softc *sc = ni->ni_ic->ic_ifp->if_softc;
+       struct ath_softc *sc = ni->ni_ic->ic_softc;
        int tid = tap->txa_tid;
        struct ath_node *an = ATH_NODE(ni);
        struct ath_tid *atid = &an->an_tid[tid];
@@ -6003,7 +6003,7 @@ void
 ath_bar_response(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap,
     int status)
 {
-       struct ath_softc *sc = ni->ni_ic->ic_ifp->if_softc;
+       struct ath_softc *sc = ni->ni_ic->ic_softc;
        int tid = tap->txa_tid;
        struct ath_node *an = ATH_NODE(ni);
        struct ath_tid *atid = &an->an_tid[tid];
@@ -6075,7 +6075,7 @@ void
 ath_addba_response_timeout(struct ieee80211_node *ni,
     struct ieee80211_tx_ampdu *tap)
 {
-       struct ath_softc *sc = ni->ni_ic->ic_ifp->if_softc;
+       struct ath_softc *sc = ni->ni_ic->ic_softc;
        int tid = tap->txa_tid;
        struct ath_node *an = ATH_NODE(ni);
        struct ath_tid *atid = &an->an_tid[tid];
index c72d36d..f0a7bb5 100644 (file)
@@ -2677,7 +2677,7 @@ bwn_raw_xmit(struct ieee80211_node *ni, struct mbuf *m,
 {
        struct ieee80211com *ic = ni->ni_ic;
        struct ifnet *ifp = ic->ic_ifp;
-       struct bwn_softc *sc = ifp->if_softc;
+       struct bwn_softc *sc = ic->ic_softc;
        struct bwn_mac *mac = sc->sc_curmac;
 
        if ((ifp->if_flags & IFF_RUNNING) == 0 ||
@@ -2751,7 +2751,7 @@ bwn_update_promisc(struct ieee80211com *ic)
 static int
 bwn_wme_update(struct ieee80211com *ic)
 {
-       struct bwn_softc *sc = ic->ic_ifp->if_softc;
+       struct bwn_softc *sc = ic->ic_softc;
        struct bwn_mac *mac = sc->sc_curmac;
        struct wmeParams *wmep;
        int i;
@@ -2771,8 +2771,7 @@ bwn_wme_update(struct ieee80211com *ic)
 static void
 bwn_scan_start(struct ieee80211com *ic)
 {
-       struct ifnet *ifp = ic->ic_ifp;
-       struct bwn_softc *sc = ifp->if_softc;
+       struct bwn_softc *sc = ic->ic_softc;
        struct bwn_mac *mac;
 
        mac = sc->sc_curmac;
@@ -2787,8 +2786,7 @@ bwn_scan_start(struct ieee80211com *ic)
 static void
 bwn_scan_end(struct ieee80211com *ic)
 {
-       struct ifnet *ifp = ic->ic_ifp;
-       struct bwn_softc *sc = ifp->if_softc;
+       struct bwn_softc *sc = ic->ic_softc;
        struct bwn_mac *mac;
 
        mac = sc->sc_curmac;
@@ -2802,8 +2800,7 @@ bwn_scan_end(struct ieee80211com *ic)
 static void
 bwn_set_channel(struct ieee80211com *ic)
 {
-       struct ifnet *ifp = ic->ic_ifp;
-       struct bwn_softc *sc = ifp->if_softc;
+       struct bwn_softc *sc = ic->ic_softc;
        struct bwn_mac *mac = sc->sc_curmac;
        struct bwn_phy *phy = &mac->mac_phy;
        int chan, error;
@@ -2857,8 +2854,7 @@ bwn_vap_create(struct ieee80211com *ic, const char name[IFNAMSIZ], int unit,
     const uint8_t bssid[IEEE80211_ADDR_LEN],
     const uint8_t mac0[IEEE80211_ADDR_LEN])
 {
-       struct ifnet *ifp = ic->ic_ifp;
-       struct bwn_softc *sc = ifp->if_softc;
+       struct bwn_softc *sc = ic->ic_softc;
        struct ieee80211vap *vap;
        struct bwn_vap *bvp;
        uint8_t mac[IEEE80211_ADDR_LEN];
@@ -8232,7 +8228,7 @@ bwn_newstate(struct ieee80211vap *vap, enum ieee80211_state nstate, int arg)
        struct ieee80211com *ic= vap->iv_ic;
        struct ifnet *ifp = ic->ic_ifp;
        enum ieee80211_state ostate = vap->iv_state;
-       struct bwn_softc *sc = ifp->if_softc;
+       struct bwn_softc *sc = ic->ic_softc;
        struct bwn_mac *mac = sc->sc_curmac;
        int error;
 
index 4159874..40fc075 100644 (file)
@@ -3024,7 +3024,7 @@ iwm_raw_xmit(struct ieee80211_node *ni, struct mbuf *m,
 {
        struct ieee80211com *ic = ni->ni_ic;
        struct ifnet *ifp = ic->ic_ifp;
-       struct iwm_softc *sc = ifp->if_softc;
+       struct iwm_softc *sc = ic->ic_softc;
        int error = 0;
 
        IWM_DPRINTF(sc, IWM_DEBUG_XMIT,
@@ -3677,7 +3677,7 @@ iwm_newstate(struct ieee80211vap *vap, enum ieee80211_state nstate, int arg)
 {
        struct iwm_vap *ivp = IWM_VAP(vap);
        struct ieee80211com *ic = vap->iv_ic;
-       struct iwm_softc *sc = ic->ic_ifp->if_softc;
+       struct iwm_softc *sc = ic->ic_softc;
        struct iwm_node *in;
        int error;
 
@@ -5109,7 +5109,7 @@ fail:
 static int
 iwm_update_edca(struct ieee80211com *ic)
 {
-       struct iwm_softc *sc = ic->ic_ifp->if_softc;
+       struct iwm_softc *sc = ic->ic_softc;
 
        device_printf(sc->sc_dev, "%s: called\n", __func__);
        return (0);
@@ -5249,7 +5249,7 @@ static void
 iwm_scan_start(struct ieee80211com *ic)
 {
        struct ieee80211vap *vap = TAILQ_FIRST(&ic->ic_vaps);
-       struct iwm_softc *sc = ic->ic_ifp->if_softc;
+       struct iwm_softc *sc = ic->ic_softc;
        int error;
 
        if (sc->sc_scanband)
@@ -5272,7 +5272,7 @@ static void
 iwm_scan_end(struct ieee80211com *ic)
 {
        struct ieee80211vap *vap = TAILQ_FIRST(&ic->ic_vaps);
-       struct iwm_softc *sc = ic->ic_ifp->if_softc;
+       struct iwm_softc *sc = ic->ic_softc;
 
        IWM_LOCK(sc);
        iwm_led_blink_stop(sc);
index 7342c64..452a0ad 100644 (file)
@@ -1359,7 +1359,7 @@ iwn_vap_create(struct ieee80211com *ic, const char name[IFNAMSIZ], int unit,
        struct iwn_vap *ivp;
        struct ieee80211vap *vap;
        uint8_t mac1[IEEE80211_ADDR_LEN];
-       struct iwn_softc *sc = ic->ic_ifp->if_softc;
+       struct iwn_softc *sc = ic->ic_softc;
 
        if (!TAILQ_EMPTY(&ic->ic_vaps))         /* only one at a time */
                return NULL;
@@ -2597,7 +2597,7 @@ static int
 iwn_setregdomain(struct ieee80211com *ic, struct ieee80211_regdomain *rd,
     int nchan, struct ieee80211_channel chans[])
 {
-       struct iwn_softc *sc = ic->ic_ifp->if_softc;
+       struct iwn_softc *sc = ic->ic_softc;
        int i;
 
        for (i = 0; i < nchan; i++) {
@@ -2870,7 +2870,7 @@ iwn_newstate(struct ieee80211vap *vap, enum ieee80211_state nstate, int arg)
 {
        struct iwn_vap *ivp = IWN_VAP(vap);
        struct ieee80211com *ic = vap->iv_ic;
-       struct iwn_softc *sc = ic->ic_ifp->if_softc;
+       struct iwn_softc *sc = ic->ic_softc;
        int error = 0;
 
        DPRINTF(sc, IWN_DEBUG_TRACE, "->%s begin\n", __func__);
@@ -4958,7 +4958,7 @@ iwn_raw_xmit(struct ieee80211_node *ni, struct mbuf *m,
 {
        struct ieee80211com *ic = ni->ni_ic;
        struct ifnet *ifp = ic->ic_ifp;
-       struct iwn_softc *sc = ifp->if_softc;
+       struct iwn_softc *sc = ic->ic_softc;
        int error = 0;
 
        DPRINTF(sc, IWN_DEBUG_XMIT | IWN_DEBUG_TRACE, "->%s begin\n", __func__);
@@ -5462,7 +5462,7 @@ static int
 iwn_updateedca(struct ieee80211com *ic)
 {
 #define IWN_EXP2(x)    ((1 << (x)) - 1)        /* CWmin = 2^ECWmin - 1 */
-       struct iwn_softc *sc = ic->ic_ifp->if_softc;
+       struct iwn_softc *sc = ic->ic_softc;
        struct iwn_edca_params cmd;
        int aci;
 
@@ -7302,7 +7302,7 @@ iwn_ampdu_rx_start(struct ieee80211_node *ni, struct ieee80211_rx_ampdu *rap,
     int baparamset, int batimeout, int baseqctl)
 {
 #define MS(_v, _f)     (((_v) & _f) >> _f##_S)
-       struct iwn_softc *sc = ni->ni_ic->ic_ifp->if_softc;
+       struct iwn_softc *sc = ni->ni_ic->ic_softc;
        struct iwn_ops *ops = &sc->ops;
        struct iwn_node *wn = (void *)ni;
        struct iwn_node_info node;
@@ -7338,7 +7338,7 @@ static void
 iwn_ampdu_rx_stop(struct ieee80211_node *ni, struct ieee80211_rx_ampdu *rap)
 {
        struct ieee80211com *ic = ni->ni_ic;
-       struct iwn_softc *sc = ic->ic_ifp->if_softc;
+       struct iwn_softc *sc = ic->ic_softc;
        struct iwn_ops *ops = &sc->ops;
        struct iwn_node *wn = (void *)ni;
        struct iwn_node_info node;
@@ -7366,7 +7366,7 @@ static int
 iwn_addba_request(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap,
     int dialogtoken, int baparamset, int batimeout)
 {
-       struct iwn_softc *sc = ni->ni_ic->ic_ifp->if_softc;
+       struct iwn_softc *sc = ni->ni_ic->ic_softc;
        int qid;
 
        DPRINTF(sc, IWN_DEBUG_TRACE, "->Doing %s\n", __func__);
@@ -7396,7 +7396,7 @@ static int
 iwn_addba_response(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap,
     int code, int baparamset, int batimeout)
 {
-       struct iwn_softc *sc = ni->ni_ic->ic_ifp->if_softc;
+       struct iwn_softc *sc = ni->ni_ic->ic_softc;
        int qid = *(int *)tap->txa_private;
        uint8_t tid = tap->txa_tid;
        int ret;
@@ -7425,7 +7425,7 @@ iwn_ampdu_tx_start(struct ieee80211com *ic, struct ieee80211_node *ni,
     uint8_t tid)
 {
        struct ieee80211_tx_ampdu *tap = &ni->ni_tx_ampdu[tid];
-       struct iwn_softc *sc = ni->ni_ic->ic_ifp->if_softc;
+       struct iwn_softc *sc = ni->ni_ic->ic_softc;
        struct iwn_ops *ops = &sc->ops;
        struct iwn_node *wn = (void *)ni;
        struct iwn_node_info node;
@@ -7459,7 +7459,7 @@ iwn_ampdu_tx_start(struct ieee80211com *ic, struct ieee80211_node *ni,
 static void
 iwn_ampdu_tx_stop(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap)
 {
-       struct iwn_softc *sc = ni->ni_ic->ic_ifp->if_softc;
+       struct iwn_softc *sc = ni->ni_ic->ic_softc;
        struct iwn_ops *ops = &sc->ops;
        uint8_t tid = tap->txa_tid;
        int qid;
@@ -8943,8 +8943,7 @@ iwn_stop(struct iwn_softc *sc)
 static void
 iwn_scan_start(struct ieee80211com *ic)
 {
-       struct ifnet *ifp = ic->ic_ifp;
-       struct iwn_softc *sc = ifp->if_softc;
+       struct iwn_softc *sc = ic->ic_softc;
 
        IWN_LOCK(sc);
        /* make the link LED blink while we're scanning */
@@ -8958,8 +8957,7 @@ iwn_scan_start(struct ieee80211com *ic)
 static void
 iwn_scan_end(struct ieee80211com *ic)
 {
-       struct ifnet *ifp = ic->ic_ifp;
-       struct iwn_softc *sc = ifp->if_softc;
+       struct iwn_softc *sc = ic->ic_softc;
        struct ieee80211vap *vap = TAILQ_FIRST(&ic->ic_vaps);
 
        IWN_LOCK(sc);
@@ -8977,8 +8975,7 @@ static void
 iwn_set_channel(struct ieee80211com *ic)
 {
        const struct ieee80211_channel *c = ic->ic_curchan;
-       struct ifnet *ifp = ic->ic_ifp;
-       struct iwn_softc *sc = ifp->if_softc;
+       struct iwn_softc *sc = ic->ic_softc;
        int error;
 
        DPRINTF(sc, IWN_DEBUG_TRACE, "->Doing %s\n", __func__);
@@ -9009,7 +9006,7 @@ static void
 iwn_scan_curchan(struct ieee80211_scan_state *ss, unsigned long maxdwell)
 {
        struct ieee80211vap *vap = ss->ss_vap;
-       struct iwn_softc *sc = vap->iv_ic->ic_ifp->if_softc;
+       struct iwn_softc *sc = vap->iv_ic->ic_softc;
        struct ieee80211com *ic = vap->iv_ic;
        int error;
 
index f473c4b..8196175 100644 (file)
@@ -759,7 +759,7 @@ rt2560_newstate(struct ieee80211vap *vap, enum ieee80211_state nstate, int arg)
 {
        struct rt2560_vap *rvp = RT2560_VAP(vap);
        struct ifnet *ifp = vap->iv_ic->ic_ifp;
-       struct rt2560_softc *sc = ifp->if_softc;
+       struct rt2560_softc *sc = vap->iv_ic->ic_softc;
        int error;
 
        if (nstate == IEEE80211_S_INIT && vap->iv_state == IEEE80211_S_RUN) {
@@ -1967,8 +1967,8 @@ rt2560_watchdog_callout(void *arg)
 static int
 rt2560_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data, struct ucred *ucred)
 {
-       struct rt2560_softc *sc = ifp->if_softc;
        struct ieee80211com *ic = ifp->if_l2com;
+       struct rt2560_softc *sc = ic->ic_softc;
        struct ifreq *ifr = (struct ifreq *) data;
        int error = 0, startall = 0;
 
@@ -2181,8 +2181,7 @@ rt2560_set_chan(struct rt2560_softc *sc, struct ieee80211_channel *c)
 static void
 rt2560_set_channel(struct ieee80211com *ic)
 {
-       struct ifnet *ifp = ic->ic_ifp;
-       struct rt2560_softc *sc = ifp->if_softc;
+       struct rt2560_softc *sc = ic->ic_softc;
 
        rt2560_set_chan(sc, ic->ic_curchan);
 
@@ -2490,7 +2489,7 @@ static void
 rt2560_scan_start(struct ieee80211com *ic)
 {
        struct ifnet *ifp = ic->ic_ifp;
-       struct rt2560_softc *sc = ifp->if_softc;
+       struct rt2560_softc *sc = ic->ic_softc;
 
        /* abort TSF synchronization */
        RAL_WRITE(sc, RT2560_CSR14, 0);
@@ -2500,8 +2499,7 @@ rt2560_scan_start(struct ieee80211com *ic)
 static void
 rt2560_scan_end(struct ieee80211com *ic)
 {
-       struct ifnet *ifp = ic->ic_ifp;
-       struct rt2560_softc *sc = ifp->if_softc;
+       struct rt2560_softc *sc = ic->ic_softc;
        struct ieee80211vap *vap = ic->ic_scan->ss_vap;
 
        rt2560_enable_tsf_sync(sc);
@@ -2743,7 +2741,7 @@ rt2560_raw_xmit(struct ieee80211_node *ni, struct mbuf *m,
 {
        struct ieee80211com *ic = ni->ni_ic;
        struct ifnet *ifp = ic->ic_ifp;
-       struct rt2560_softc *sc = ifp->if_softc;
+       struct rt2560_softc *sc = ic->ic_softc;
 
        /* prevent management frames from being sent if we're not ready */
        if (!(ifp->if_flags & IFF_RUNNING)) {
index 5240c4f..a63c69b 100644 (file)
@@ -766,7 +766,7 @@ rt2661_newstate(struct ieee80211vap *vap, enum ieee80211_state nstate, int arg)
 {
        struct rt2661_vap *rvp = RT2661_VAP(vap);
        struct ieee80211com *ic = vap->iv_ic;
-       struct rt2661_softc *sc = ic->ic_ifp->if_softc;
+       struct rt2661_softc *sc = ic->ic_softc;
        int error;
 
        if (nstate == IEEE80211_S_INIT && vap->iv_state == IEEE80211_S_RUN) {
@@ -1643,7 +1643,7 @@ rt2661_raw_xmit(struct ieee80211_node *ni, struct mbuf *m,
 {
        struct ieee80211com *ic = ni->ni_ic;
        struct ifnet *ifp = ic->ic_ifp;
-       struct rt2661_softc *sc = ifp->if_softc;
+       struct rt2661_softc *sc = ic->ic_softc;
 
        /* prevent management frames from being sent if we're not ready */
        if (!(ifp->if_flags & IFF_RUNNING)) {
@@ -1701,8 +1701,8 @@ rt2661_watchdog_callout(void *arg)
 static int
 rt2661_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data, struct ucred *ucred)
 {
-       struct rt2661_softc *sc = ifp->if_softc;
        struct ieee80211com *ic = ifp->if_l2com;
+       struct rt2661_softc *sc = ic->ic_softc;
        struct ifreq *ifr = (struct ifreq *) data;
        int error = 0, startall = 0;
 
@@ -2085,7 +2085,7 @@ rt2661_update_promisc(struct ieee80211com *ic)
 static int
 rt2661_wme_update(struct ieee80211com *ic)
 {
-       struct rt2661_softc *sc = ic->ic_ifp->if_softc;
+       struct rt2661_softc *sc = ic->ic_softc;
        const struct wmeParams *wmep;
 
        wmep = ic->ic_wme.wme_chanParams.cap_wmeParams;
@@ -2790,7 +2790,7 @@ static void
 rt2661_scan_start(struct ieee80211com *ic)
 {
        struct ifnet *ifp = ic->ic_ifp;
-       struct rt2661_softc *sc = ifp->if_softc;
+       struct rt2661_softc *sc = ic->ic_softc;
        uint32_t tmp;
 
        /* abort TSF synchronization */
@@ -2802,8 +2802,7 @@ rt2661_scan_start(struct ieee80211com *ic)
 static void
 rt2661_scan_end(struct ieee80211com *ic)
 {
-       struct ifnet *ifp = ic->ic_ifp;
-       struct rt2661_softc *sc = ifp->if_softc;
+       struct rt2661_softc *sc = ic->ic_softc;
        struct ieee80211vap *vap = TAILQ_FIRST(&ic->ic_vaps);
 
        rt2661_enable_tsf_sync(sc);
@@ -2814,8 +2813,7 @@ rt2661_scan_end(struct ieee80211com *ic)
 static void
 rt2661_set_channel(struct ieee80211com *ic)
 {
-       struct ifnet *ifp = ic->ic_ifp;
-       struct rt2661_softc *sc = ifp->if_softc;
+       struct rt2661_softc *sc = ic->ic_softc;
 
        rt2661_set_chan(sc, ic->ic_curchan);
 }
index a8cbc6b..6210b5a 100644 (file)
@@ -845,7 +845,7 @@ static void
 rt2860_newassoc(struct ieee80211_node *ni, int isnew)
 {
        struct ieee80211com *ic = ni->ni_ic;
-       struct rt2860_softc *sc = ic->ic_ifp->if_softc;
+       struct rt2860_softc *sc = ic->ic_softc;
        uint8_t wcid;
        char ethstr[ETHER_ADDRSTRLEN + 1];
 
@@ -865,7 +865,7 @@ static void
 rt2860_node_free(struct ieee80211_node *ni)
 {
        struct ieee80211com *ic = ni->ni_ic;
-       struct rt2860_softc *sc = ic->ic_ifp->if_softc;
+       struct rt2860_softc *sc = ic->ic_softc;
        uint8_t wcid;
 
        if (ni->ni_associd != 0) {
@@ -913,7 +913,7 @@ rt2860_newstate(struct ieee80211vap *vap, enum ieee80211_state nstate, int arg)
 {
        struct rt2860_vap *rvp = RT2860_VAP(vap);
        struct ieee80211com *ic = vap->iv_ic;
-       struct rt2860_softc *sc = ic->ic_ifp->if_softc;
+       struct rt2860_softc *sc = ic->ic_softc;
        uint32_t tmp;
        int error;
 
@@ -1707,7 +1707,7 @@ rt2860_raw_xmit(struct ieee80211_node *ni, struct mbuf *m,
 {
        struct ieee80211com *ic = ni->ni_ic;
        struct ifnet *ifp = ic->ic_ifp;
-       struct rt2860_softc *sc = ifp->if_softc;
+       struct rt2860_softc *sc = ic->ic_softc;
        int error;
 
        /* prevent management frames from being sent if we're not ready */
@@ -2014,8 +2014,8 @@ rt2860_watchdog(void *arg)
 static int
 rt2860_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data, struct ucred *ucred)
 {
-       struct rt2860_softc *sc = ifp->if_softc;
        struct ieee80211com *ic = ifp->if_l2com;
+       struct rt2860_softc *sc = ic->ic_softc;
        struct ifreq *ifr = (struct ifreq *)data;
        int error = 0, startall = 0;
 
@@ -2305,8 +2305,7 @@ rt2860_set_basicrates(struct rt2860_softc *sc,
 static void
 rt2860_scan_start(struct ieee80211com *ic)
 {
-       struct ifnet *ifp = ic->ic_ifp;
-       struct rt2860_softc *sc = ifp->if_softc;
+       struct rt2860_softc *sc = ic->ic_softc;
        uint32_t tmp;
 
        tmp = RAL_READ(sc, RT2860_BCN_TIME_CFG);
@@ -2319,8 +2318,7 @@ rt2860_scan_start(struct ieee80211com *ic)
 static void
 rt2860_scan_end(struct ieee80211com *ic)
 {
-       struct ifnet *ifp = ic->ic_ifp;
-       struct rt2860_softc *sc = ifp->if_softc;
+       struct rt2860_softc *sc = ic->ic_softc;
        struct ieee80211vap *vap = TAILQ_FIRST(&ic->ic_vaps);
 
        if (vap->iv_state == IEEE80211_S_RUN) {
@@ -2332,8 +2330,7 @@ rt2860_scan_end(struct ieee80211com *ic)
 static void
 rt2860_set_channel(struct ieee80211com *ic)
 {
-       struct ifnet *ifp = ic->ic_ifp;
-       struct rt2860_softc *sc = ifp->if_softc;
+       struct rt2860_softc *sc = ic->ic_softc;
 
        rt2860_switch_chan(sc, ic->ic_curchan);
 }
@@ -2879,8 +2876,8 @@ rt2860_updateslot(struct ieee80211com *ic)
 static void
 rt2860_updateprot(struct ifnet *ifp)
 {
-       struct rt2860_softc *sc = ifp->if_softc;
        struct ieee80211com *ic = ifp->if_l2com;
+       struct rt2860_softc *sc = ic->ic_softc;
        uint32_t tmp;
 
        tmp = RT2860_RTSTH_EN | RT2860_PROT_NAV_SHORT | RT2860_TXOP_ALLOW_ALL;
@@ -2917,7 +2914,7 @@ rt2860_update_promisc(struct ieee80211com *ic)
 static int
 rt2860_updateedca(struct ieee80211com *ic)
 {
-       struct rt2860_softc *sc = ic->ic_ifp->if_softc;
+       struct rt2860_softc *sc = ic->ic_softc;
        const struct wmeParams *wmep;
        int aci;
 
index 9819a8a..d830b0c 100644 (file)
@@ -510,7 +510,7 @@ wi_vap_create(struct ieee80211com *ic,
        const uint8_t bssid[IEEE80211_ADDR_LEN],
        const uint8_t mac[IEEE80211_ADDR_LEN])
 {
-       struct wi_softc *sc = ic->ic_ifp->if_softc;
+       struct wi_softc *sc = ic->ic_softc;
        struct wi_vap *wvp;
        struct ieee80211vap *vap;
 
@@ -727,8 +727,7 @@ wi_stop(struct wi_softc *sc, int disable)
 static void
 wi_set_channel(struct ieee80211com *ic)
 {
-       struct ifnet *ifp = ic->ic_ifp;
-       struct wi_softc *sc = ifp->if_softc;
+       struct wi_softc *sc = ic->ic_softc;
 
        DPRINTF(("%s: channel %d, %sscanning\n", __func__,
            ieee80211_chan2ieee(ic, ic->ic_curchan),
@@ -741,8 +740,7 @@ wi_set_channel(struct ieee80211com *ic)
 static void
 wi_scan_start(struct ieee80211com *ic)
 {
-       struct ifnet *ifp = ic->ic_ifp;
-       struct wi_softc *sc = ifp->if_softc;
+       struct wi_softc *sc = ic->ic_softc;
        struct ieee80211_scan_state *ss = ic->ic_scan;
 
        DPRINTF(("%s\n", __func__));
@@ -763,8 +761,7 @@ wi_scan_start(struct ieee80211com *ic)
 static void
 wi_scan_end(struct ieee80211com *ic)
 {
-       struct ifnet *ifp = ic->ic_ifp;
-       struct wi_softc *sc = ifp->if_softc;
+       struct wi_softc *sc = ic->ic_softc;
 
        DPRINTF(("%s: restore port type %d\n", __func__, sc->sc_porttype));
 
@@ -795,9 +792,8 @@ static int
 wi_newstate_sta(struct ieee80211vap *vap, enum ieee80211_state nstate, int arg)
 {
        struct ieee80211com *ic = vap->iv_ic;
-       struct ifnet *ifp = ic->ic_ifp;
        struct ieee80211_node *bss;
-       struct wi_softc *sc = ifp->if_softc;
+       struct wi_softc *sc = ic->ic_softc;
 
        DPRINTF(("%s: %s -> %s\n", __func__,
                ieee80211_state_name[vap->iv_state],
@@ -863,9 +859,8 @@ static int
 wi_newstate_hostap(struct ieee80211vap *vap, enum ieee80211_state nstate, int arg)
 {
        struct ieee80211com *ic = vap->iv_ic;
-       struct ifnet *ifp = ic->ic_ifp;
        struct ieee80211_node *bss;
-       struct wi_softc *sc = ifp->if_softc;
+       struct wi_softc *sc = ic->ic_softc;
        int error;
 
        DPRINTF(("%s: %s -> %s\n", __func__,
@@ -1044,7 +1039,7 @@ wi_raw_xmit(struct ieee80211_node *ni, struct mbuf *m0,
        struct ieee80211com *ic = ni->ni_ic;
        struct ifnet *ifp = ic->ic_ifp;
        struct ieee80211vap *vap = ni->ni_vap;
-       struct wi_softc *sc = ifp->if_softc;
+       struct wi_softc *sc = ic->ic_softc;
        struct ieee80211_key *k;
        struct ieee80211_frame *wh;
        struct wi_frame frmhdr;
@@ -1207,7 +1202,7 @@ wi_media_status(struct ifnet *ifp, struct ifmediareq *imr)
 {
        struct ieee80211vap *vap = ifp->if_softc;
        struct ieee80211com *ic = vap->iv_ic;
-       struct wi_softc *sc = ic->ic_ifp->if_softc;
+       struct wi_softc *sc = ic->ic_softc;
        u_int16_t val;
        int rate, len;
 
index 09c4d8f..9083457 100644 (file)
@@ -1300,8 +1300,7 @@ wpi_newstate(struct ieee80211vap *vap, enum ieee80211_state nstate, int arg)
 {
        struct wpi_vap *wvp = WPI_VAP(vap);
        struct ieee80211com *ic = vap->iv_ic;
-       struct ifnet *ifp = ic->ic_ifp;
-       struct wpi_softc *sc = ifp->if_softc;
+       struct wpi_softc *sc = ic->ic_softc;
        int error;
 
        DPRINTF(("%s: %s -> %s flags 0x%x\n", __func__,
@@ -2196,7 +2195,7 @@ wpi_raw_xmit(struct ieee80211_node *ni, struct mbuf *m,
 {
        struct ieee80211com *ic = ni->ni_ic;
        struct ifnet *ifp = ic->ic_ifp;
-       struct wpi_softc *sc = ifp->if_softc;
+       struct wpi_softc *sc = ic->ic_softc;
 
        /* prevent management frames from being sent if we're not ready */
 #if defined(__DragonFly__)
@@ -2390,7 +2389,7 @@ wpi_wme_update(struct ieee80211com *ic)
 {
 #define WPI_EXP2(v)    htole16((1 << (v)) - 1)
 #define WPI_USEC(v)    htole16(IEEE80211_TXOP_TO_US(v))
-       struct wpi_softc *sc = ic->ic_ifp->if_softc;
+       struct wpi_softc *sc = ic->ic_softc;
        const struct wmeParams *wmep;
        struct wpi_wme_setup wme;
        int ac;
@@ -3685,8 +3684,7 @@ wpi_get_power_index(struct wpi_softc *sc, struct wpi_power_group *group,
 static void
 wpi_scan_start(struct ieee80211com *ic)
 {
-       struct ifnet *ifp = ic->ic_ifp;
-       struct wpi_softc *sc = ifp->if_softc;
+       struct wpi_softc *sc = ic->ic_softc;
 
        WPI_LOCK(sc);
        wpi_set_led(sc, WPI_LED_LINK, 20, 2);
@@ -3711,8 +3709,7 @@ wpi_scan_end(struct ieee80211com *ic)
 static void
 wpi_set_channel(struct ieee80211com *ic)
 {
-       struct ifnet *ifp = ic->ic_ifp;
-       struct wpi_softc *sc = ifp->if_softc;
+       struct wpi_softc *sc = ic->ic_softc;
        int error;
 
        /*
@@ -3738,8 +3735,8 @@ static void
 wpi_scan_curchan(struct ieee80211_scan_state *ss, unsigned long maxdwell)
 {
        struct ieee80211vap *vap = ss->ss_vap;
-       struct ifnet *ifp = vap->iv_ic->ic_ifp;
-       struct wpi_softc *sc = ifp->if_softc;
+       struct ieee80211com *ic = vap->iv_ic;
+       struct wpi_softc *sc = ic->ic_softc;
 
        WPI_LOCK(sc);
        if (wpi_scan(sc))