diff -Naur madwifi-0.9.4.orig/ath/if_ath.c madwifi-0.9.4/ath/if_ath.c --- madwifi-0.9.4.orig/ath/if_ath.c 2008-02-13 05:13:10.000000000 +0000 +++ madwifi-0.9.4/ath/if_ath.c 2009-09-25 04:03:07.000000000 +0000 @@ -399,7 +399,7 @@ int ath_attach(u_int16_t devid, struct net_device *dev, HAL_BUS_TAG tag) { - struct ath_softc *sc = dev->priv; + struct ath_softc *sc = netdev_priv(dev); struct ieee80211com *ic = &sc->sc_ic; struct ath_hal *ah; HAL_STATUS status; @@ -955,7 +955,7 @@ int ath_detach(struct net_device *dev) { - struct ath_softc *sc = dev->priv; + struct ath_softc *sc = netdev_priv(dev); struct ath_hal *ah = sc->sc_ah; HAL_INT tmp; @@ -1011,7 +1011,7 @@ ath_vap_create(struct ieee80211com *ic, const char *name, int unit, int opmode, int flags, struct net_device *mdev) { - struct ath_softc *sc = ic->ic_dev->priv; + struct ath_softc *sc = netdev_priv(ic->ic_dev); struct ath_hal *ah = sc->sc_ah; struct net_device *dev; struct ath_vap *avp; @@ -1081,7 +1081,7 @@ return NULL; } - avp = dev->priv; + avp = netdev_priv(dev); ieee80211_vap_setup(ic, dev, name, unit, opmode, flags); /* override with driver methods */ vap = &avp->av_vap; @@ -1245,7 +1245,7 @@ ath_vap_delete(struct ieee80211vap *vap) { struct net_device *dev = vap->iv_ic->ic_dev; - struct ath_softc *sc = dev->priv; + struct ath_softc *sc = netdev_priv(dev); struct ath_hal *ah = sc->sc_ah; struct ath_vap *avp = ATH_VAP(vap); int decrease = 1; @@ -1347,7 +1347,7 @@ void ath_suspend(struct net_device *dev) { - struct ath_softc *sc = dev->priv; + struct ath_softc *sc = netdev_priv(dev); DPRINTF(sc, ATH_DEBUG_ANY, "%s: flags %x\n", __func__, dev->flags); ath_stop(dev); @@ -1356,7 +1356,7 @@ void ath_resume(struct net_device *dev) { - struct ath_softc *sc = dev->priv; + struct ath_softc *sc = netdev_priv(dev); DPRINTF(sc, ATH_DEBUG_ANY, "%s: flags %x\n", __func__, dev->flags); ath_init(dev); @@ -1649,7 +1649,7 @@ #endif { struct net_device *dev = dev_id; - struct ath_softc *sc = dev->priv; + struct ath_softc *sc = netdev_priv(dev); struct ath_hal *ah = sc->sc_ah; HAL_INT status; int needmark; @@ -1840,7 +1840,7 @@ ath_bmiss_tasklet(TQUEUE_ARG data) { struct net_device *dev = (struct net_device *)data; - struct ath_softc *sc = dev->priv; + struct ath_softc *sc = netdev_priv(dev); if (time_before(jiffies, sc->sc_ic.ic_bmiss_guard)) { /* Beacon miss interrupt occured too short after last beacon @@ -1883,7 +1883,7 @@ static int ath_init(struct net_device *dev) { - struct ath_softc *sc = dev->priv; + struct ath_softc *sc = netdev_priv(dev); struct ieee80211com *ic = &sc->sc_ic; struct ath_hal *ah = sc->sc_ah; HAL_STATUS status; @@ -2011,7 +2011,7 @@ static int ath_stop_locked(struct net_device *dev) { - struct ath_softc *sc = dev->priv; + struct ath_softc *sc = netdev_priv(dev); struct ieee80211com *ic = &sc->sc_ic; struct ath_hal *ah = sc->sc_ah; @@ -2075,7 +2075,7 @@ static int ath_stop(struct net_device *dev) { - struct ath_softc *sc = dev->priv; + struct ath_softc *sc = netdev_priv(dev); int error; ATH_LOCK(sc); @@ -2179,7 +2179,7 @@ static int ath_reset(struct net_device *dev) { - struct ath_softc *sc = dev->priv; + struct ath_softc *sc = netdev_priv(dev); struct ieee80211com *ic = &sc->sc_ic; struct ath_hal *ah = sc->sc_ah; struct ieee80211_channel *c; @@ -2340,7 +2340,7 @@ static int ath_tx_startraw(struct net_device *dev, struct ath_buf *bf, struct sk_buff *skb) { - struct ath_softc *sc = dev->priv; + struct ath_softc *sc = netdev_priv(dev); struct ath_hal *ah = sc->sc_ah; struct ieee80211_phy_params *ph = (struct ieee80211_phy_params *) (skb->cb + sizeof(struct ieee80211_cb)); const HAL_RATE_TABLE *rt; @@ -2555,7 +2555,7 @@ static int ath_hardstart(struct sk_buff *skb, struct net_device *dev) { - struct ath_softc *sc = dev->priv; + struct ath_softc *sc = netdev_priv(dev); struct ieee80211_node *ni = NULL; struct ath_buf *bf = NULL; struct ieee80211_cb *cb = (struct ieee80211_cb *) skb->cb; @@ -2872,7 +2872,7 @@ ath_mgtstart(struct ieee80211com *ic, struct sk_buff *skb) { struct net_device *dev = ic->ic_dev; - struct ath_softc *sc = dev->priv; + struct ath_softc *sc = netdev_priv(dev); struct ieee80211_node *ni = NULL; struct ath_buf *bf = NULL; struct ieee80211_cb *cb; @@ -3234,7 +3234,7 @@ ath_key_alloc(struct ieee80211vap *vap, const struct ieee80211_key *k) { struct net_device *dev = vap->iv_ic->ic_dev; - struct ath_softc *sc = dev->priv; + struct ath_softc *sc = netdev_priv(dev); /* * Group key allocation must be handled specially for @@ -3301,7 +3301,7 @@ struct ieee80211_node *ninfo) { struct net_device *dev = vap->iv_ic->ic_dev; - struct ath_softc *sc = dev->priv; + struct ath_softc *sc = netdev_priv(dev); struct ath_hal *ah = sc->sc_ah; const struct ieee80211_cipher *cip = k->wk_cipher; struct ieee80211_node *ni; @@ -3377,7 +3377,7 @@ const u_int8_t mac[IEEE80211_ADDR_LEN]) { struct net_device *dev = vap->iv_ic->ic_dev; - struct ath_softc *sc = dev->priv; + struct ath_softc *sc = netdev_priv(dev); return ath_keyset(sc, k, mac, vap->iv_bss); } @@ -3392,7 +3392,7 @@ ath_key_update_begin(struct ieee80211vap *vap) { struct net_device *dev = vap->iv_ic->ic_dev; - struct ath_softc *sc = dev->priv; + struct ath_softc *sc = netdev_priv(dev); DPRINTF(sc, ATH_DEBUG_KEYCACHE, "%s:\n", __func__); /* @@ -3413,7 +3413,7 @@ ath_key_update_end(struct ieee80211vap *vap) { struct net_device *dev = vap->iv_ic->ic_dev; - struct ath_softc *sc = dev->priv; + struct ath_softc *sc = netdev_priv(dev); DPRINTF(sc, ATH_DEBUG_KEYCACHE, "%s:\n", __func__); netif_start_queue(dev); @@ -3501,7 +3501,7 @@ static void ath_mode_init(struct net_device *dev) { - struct ath_softc *sc = dev->priv; + struct ath_softc *sc = netdev_priv(dev); struct ath_hal *ah = sc->sc_ah; u_int32_t rfilt, mfilt[2]; @@ -3552,7 +3552,7 @@ static void ath_updateslot(struct net_device *dev) { - struct ath_softc *sc = dev->priv; + struct ath_softc *sc = netdev_priv(dev); struct ieee80211com *ic = &sc->sc_ic; /* @@ -3582,7 +3582,7 @@ (vap->iv_bss && (vap->iv_bss->ni_ath_flags & (IEEE80211_ATHC_TURBOP )) == \ (IEEE80211_ATHC_TURBOP)) struct ieee80211com *ic = vap->iv_ic; - struct ath_softc *sc = ic->ic_dev->priv; + struct ath_softc *sc = netdev_priv(ic->ic_dev); if (ic->ic_opmode == IEEE80211_M_HOSTAP && IS_CAPABLE(vap)) { @@ -3630,7 +3630,7 @@ ath_beacon_dturbo_update(struct ieee80211vap *vap, int *needmark,u_int8_t dtim) { struct ieee80211com *ic = vap->iv_ic; - struct ath_softc *sc = ic->ic_dev->priv; + struct ath_softc *sc = netdev_priv(ic->ic_dev); u_int32_t bss_traffic; /* TBD: Age out CHANNEL_INTERFERENCE */ @@ -3773,7 +3773,7 @@ ath_turbo_switch_mode(unsigned long data) { struct net_device *dev = (struct net_device *)data; - struct ath_softc *sc = dev->priv; + struct ath_softc *sc = netdev_priv(dev); struct ieee80211com *ic = &sc->sc_ic; int newflags; @@ -4365,7 +4365,7 @@ ath_bstuck_tasklet(TQUEUE_ARG data) { struct net_device *dev = (struct net_device *)data; - struct ath_softc *sc = dev->priv; + struct ath_softc *sc = netdev_priv(dev); /* * XXX:if the bmisscount is cleared while the * tasklet execution is pending, the following @@ -4817,7 +4817,7 @@ static struct ieee80211_node * ath_node_alloc(struct ieee80211_node_table *nt,struct ieee80211vap *vap) { - struct ath_softc *sc = nt->nt_ic->ic_dev->priv; + struct ath_softc *sc = netdev_priv(nt->nt_ic->ic_dev); const size_t space = sizeof(struct ath_node) + sc->sc_rc->arc_space; struct ath_node *an; @@ -4852,7 +4852,7 @@ ath_node_cleanup(struct ieee80211_node *ni) { struct ieee80211com *ic = ni->ni_ic; - struct ath_softc *sc = ni->ni_ic->ic_dev->priv; + struct ath_softc *sc = netdev_priv(ni->ni_ic->ic_dev); struct ath_node *an = ATH_NODE(ni); struct ath_buf *bf; @@ -4906,7 +4906,7 @@ static void ath_node_free(struct ieee80211_node *ni) { - struct ath_softc *sc = ni->ni_ic->ic_dev->priv; + struct ath_softc *sc = netdev_priv(ni->ni_ic->ic_dev); sc->sc_rc->ops->node_cleanup(sc, ATH_NODE(ni)); sc->sc_node_free(ni); @@ -4949,7 +4949,7 @@ #ifdef NOT_YET struct ath_txq *txq = NULL; struct ieee80211com *ic = ni->ni_ic; - struct ath_softc *sc = ic->ic_dev->priv; + struct ath_softc *sc = netdev_priv(ic->ic_dev); struct ath_buf *bf, *prev, *bf_tmp, *bf_tmp1; struct ath_hal *ah = sc->sc_ah; struct sk_buff *skb = NULL; @@ -5401,7 +5401,7 @@ static void ath_rx_capture(struct net_device *dev, struct ath_desc *ds, struct sk_buff *skb) { - struct ath_softc *sc = dev->priv; + struct ath_softc *sc = netdev_priv(dev); struct ieee80211com *ic = &sc->sc_ic; struct ieee80211_frame *wh = (struct ieee80211_frame *) skb->data; unsigned int headersize = ieee80211_anyhdrsize(wh); @@ -5434,7 +5434,7 @@ static void ath_tx_capture(struct net_device *dev, struct ath_desc *ds, struct sk_buff *skb) { - struct ath_softc *sc = dev->priv; + struct ath_softc *sc = netdev_priv(dev); struct ieee80211com *ic = &sc->sc_ic; struct ieee80211_frame *wh; int extra = A_MAX(sizeof(struct ath_tx_radiotap_header), @@ -5499,7 +5499,7 @@ ath_recv_mgmt(struct ieee80211_node *ni, struct sk_buff *skb, int subtype, int rssi, u_int32_t rstamp) { - struct ath_softc *sc = ni->ni_ic->ic_dev->priv; + struct ath_softc *sc = netdev_priv(ni->ni_ic->ic_dev); struct ieee80211vap *vap = ni->ni_vap; /* @@ -5571,7 +5571,7 @@ ((_pa) - (_sc)->sc_rxdma.dd_desc_paddr))) struct net_device *dev = (struct net_device *)data; struct ath_buf *bf; - struct ath_softc *sc = dev->priv; + struct ath_softc *sc = netdev_priv(dev); struct ieee80211com *ic = &sc->sc_ic; struct ath_hal *ah = sc->sc_ah; struct ath_desc *ds; @@ -6010,7 +6010,7 @@ struct sk_buff *skb = NULL; struct ath_buf *bf, *head = NULL; struct ieee80211com *ic = vap->iv_ic; - struct ath_softc *sc = ic->ic_dev->priv; + struct ath_softc *sc = netdev_priv(ic->ic_dev); struct ath_hal *ah = sc->sc_ah; u_int8_t rate; int ctsrate = 0; @@ -6223,7 +6223,7 @@ static void ath_grppoll_stop(struct ieee80211vap *vap) { struct ieee80211com *ic = vap->iv_ic; - struct ath_softc *sc = ic->ic_dev->priv; + struct ath_softc *sc = netdev_priv(ic->ic_dev); struct ath_hal *ah = sc->sc_ah; struct ath_txq *txq = &sc->sc_grpplq; struct ath_buf *bf; @@ -6438,7 +6438,7 @@ static int ath_wme_update(struct ieee80211com *ic) { - struct ath_softc *sc = ic->ic_dev->priv; + struct ath_softc *sc = netdev_priv(ic->ic_dev); if (sc->sc_uapsdq) ath_txq_update(sc, sc->sc_uapsdq, WME_AC_VO); @@ -6457,7 +6457,7 @@ { struct ath_node *an = ATH_NODE(ni); struct ath_buf *bf; - struct ath_softc *sc = ni->ni_ic->ic_dev->priv; + struct ath_softc *sc = netdev_priv(ni->ni_ic->ic_dev); struct ath_txq *txq; ATH_NODE_UAPSD_LOCK_IRQ(an); @@ -6652,7 +6652,7 @@ ath_tx_start(struct net_device *dev, struct ieee80211_node *ni, struct ath_buf *bf, struct sk_buff *skb, int nextfraglen) { #define MIN(a,b) ((a) < (b) ? (a) : (b)) - struct ath_softc *sc = dev->priv; + struct ath_softc *sc = netdev_priv(dev); struct ieee80211com *ic = ni->ni_ic; struct ieee80211vap *vap = ni->ni_vap; struct ath_hal *ah = sc->sc_ah; @@ -7492,7 +7492,7 @@ ath_tx_tasklet_q0(TQUEUE_ARG data) { struct net_device *dev = (struct net_device *)data; - struct ath_softc *sc = dev->priv; + struct ath_softc *sc = netdev_priv(dev); if (txqactive(sc->sc_ah, 0)) ath_tx_processq(sc, &sc->sc_txq[0]); @@ -7513,7 +7513,7 @@ ath_tx_tasklet_q0123(TQUEUE_ARG data) { struct net_device *dev = (struct net_device *)data; - struct ath_softc *sc = dev->priv; + struct ath_softc *sc = netdev_priv(dev); /* * Process each active queue. @@ -7548,7 +7548,7 @@ ath_tx_tasklet(TQUEUE_ARG data) { struct net_device *dev = (struct net_device *)data; - struct ath_softc *sc = dev->priv; + struct ath_softc *sc = netdev_priv(dev); int i; /* @@ -7571,7 +7571,7 @@ static void ath_tx_timeout(struct net_device *dev) { - struct ath_softc *sc = dev->priv; + struct ath_softc *sc = netdev_priv(dev); DPRINTF(sc, ATH_DEBUG_WATCHDOG, "%s: %sRUNNING %svalid\n", __func__, (dev->flags & IFF_RUNNING) ? "" : "!", @@ -7934,7 +7934,7 @@ ath_calibrate(unsigned long arg) { struct net_device *dev = (struct net_device *) arg; - struct ath_softc *sc = dev->priv; + struct ath_softc *sc = netdev_priv(dev); struct ath_hal *ah = sc->sc_ah; struct ieee80211com *ic = &sc->sc_ic; HAL_CHANNEL *chans; @@ -8000,7 +8000,7 @@ ath_scan_start(struct ieee80211com *ic) { struct net_device *dev = ic->ic_dev; - struct ath_softc *sc = dev->priv; + struct ath_softc *sc = netdev_priv(dev); struct ath_hal *ah = sc->sc_ah; u_int32_t rfilt; @@ -8020,7 +8020,7 @@ ath_scan_end(struct ieee80211com *ic) { struct net_device *dev = ic->ic_dev; - struct ath_softc *sc = dev->priv; + struct ath_softc *sc = netdev_priv(dev); struct ath_hal *ah = sc->sc_ah; u_int32_t rfilt; @@ -8038,7 +8038,7 @@ ath_set_channel(struct ieee80211com *ic) { struct net_device *dev = ic->ic_dev; - struct ath_softc *sc = dev->priv; + struct ath_softc *sc = netdev_priv(dev); (void) ath_chan_set(sc, ic->ic_curchan); /* @@ -8054,7 +8054,7 @@ static void ath_set_coverageclass(struct ieee80211com *ic) { - struct ath_softc *sc = ic->ic_dev->priv; + struct ath_softc *sc = netdev_priv(ic->ic_dev); ath_hal_setcoverageclass(sc->sc_ah, ic->ic_coverageclass, 0); @@ -8064,7 +8064,7 @@ static u_int ath_mhz2ieee(struct ieee80211com *ic, u_int freq, u_int flags) { - struct ath_softc *sc = ic->ic_dev->priv; + struct ath_softc *sc = netdev_priv(ic->ic_dev); return (ath_hal_mhz2ieee(sc->sc_ah, freq, flags)); } @@ -8079,7 +8079,7 @@ struct ath_vap *avp = ATH_VAP(vap); struct ieee80211com *ic = vap->iv_ic; struct net_device *dev = ic->ic_dev; - struct ath_softc *sc = dev->priv; + struct ath_softc *sc = netdev_priv(dev); struct ath_hal *ah = sc->sc_ah; struct ieee80211_node *ni, *wds_ni; int i, error, stamode; @@ -8414,7 +8414,7 @@ { #define IEEE80211_KEY_XR (IEEE80211_KEY_XMIT | IEEE80211_KEY_RECV) struct ieee80211vap *vap = ni->ni_vap; - struct ath_softc *sc = vap->iv_ic->ic_dev->priv; + struct ath_softc *sc = netdev_priv(vap->iv_ic->ic_dev); struct ath_node *an = ATH_NODE(ni); u_int16_t keyindex; @@ -8468,7 +8468,7 @@ ath_setup_stationkey(struct ieee80211_node *ni) { struct ieee80211vap *vap = ni->ni_vap; - struct ath_softc *sc = vap->iv_ic->ic_dev->priv; + struct ath_softc *sc = netdev_priv(vap->iv_ic->ic_dev); u_int16_t keyix; keyix = ath_key_alloc(vap, &ni->ni_ucastkey); @@ -8628,7 +8628,7 @@ { struct ieee80211com *ic = ni->ni_ic; struct ieee80211vap *vap = ni->ni_vap; - struct ath_softc *sc = ic->ic_dev->priv; + struct ath_softc *sc = netdev_priv(ic->ic_dev); sc->sc_rc->ops->newassoc(sc, ATH_NODE(ni), isnew); @@ -8659,7 +8659,7 @@ ath_getchannels(struct net_device *dev, u_int cc, HAL_BOOL outdoor, HAL_BOOL xchanmode) { - struct ath_softc *sc = dev->priv; + struct ath_softc *sc = netdev_priv(dev); struct ieee80211com *ic = &sc->sc_ic; struct ath_hal *ah = sc->sc_ah; HAL_CHANNEL *chans; @@ -8829,7 +8829,7 @@ static int ath_xr_rate_setup(struct net_device *dev) { - struct ath_softc *sc = dev->priv; + struct ath_softc *sc = netdev_priv(dev); struct ath_hal *ah = sc->sc_ah; struct ieee80211com *ic = &sc->sc_ic; const HAL_RATE_TABLE *rt; @@ -8858,7 +8858,7 @@ static void ath_setup_subrates(struct net_device *dev) { - struct ath_softc *sc = dev->priv; + struct ath_softc *sc = netdev_priv(dev); struct ath_hal *ah = sc->sc_ah; struct ieee80211com *ic = &sc->sc_ic; const HAL_RATE_TABLE *rt; @@ -8901,7 +8901,7 @@ static int ath_rate_setup(struct net_device *dev, u_int mode) { - struct ath_softc *sc = dev->priv; + struct ath_softc *sc = netdev_priv(dev); struct ath_hal *ah = sc->sc_ah; struct ieee80211com *ic = &sc->sc_ic; const HAL_RATE_TABLE *rt; @@ -9138,7 +9138,7 @@ static struct net_device_stats * ath_getstats(struct net_device *dev) { - struct ath_softc *sc = dev->priv; + struct ath_softc *sc = netdev_priv(dev); struct net_device_stats *stats = &sc->sc_devstats; /* update according to private statistics */ @@ -9161,7 +9161,7 @@ static int ath_set_mac_address(struct net_device *dev, void *addr) { - struct ath_softc *sc = dev->priv; + struct ath_softc *sc = netdev_priv(dev); struct ieee80211com *ic = &sc->sc_ic; struct ath_hal *ah = sc->sc_ah; struct sockaddr *mac = addr; @@ -9193,7 +9193,7 @@ static int ath_change_mtu(struct net_device *dev, int mtu) { - struct ath_softc *sc = dev->priv; + struct ath_softc *sc = netdev_priv(dev); int error = 0; if (!(ATH_MIN_MTU < mtu && mtu <= ATH_MAX_MTU)) { @@ -9280,7 +9280,7 @@ static int ath_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) { - struct ath_softc *sc = dev->priv; + struct ath_softc *sc = netdev_priv(dev); struct ieee80211com *ic = &sc->sc_ic; int error; @@ -9776,7 +9776,7 @@ ath_announce(struct net_device *dev) { #define HAL_MODE_DUALBAND (HAL_MODE_11A|HAL_MODE_11B) - struct ath_softc *sc = dev->priv; + struct ath_softc *sc = netdev_priv(dev); struct ath_hal *ah = sc->sc_ah; u_int modes, cc; @@ -9923,7 +9923,7 @@ void *ptr) { struct net_device *dev = (struct net_device *) ptr; - struct ath_softc *sc = (struct ath_softc *) dev->priv; + struct ath_softc *sc = (struct ath_softc *) netdev_priv(dev); if (!dev || !sc || dev->open != &ath_init) return 0; diff -Naur madwifi-0.9.4.orig/ath/if_ath_ahb.c madwifi-0.9.4/ath/if_ath_ahb.c --- madwifi-0.9.4.orig/ath/if_ath_ahb.c 2007-12-13 04:09:32.000000000 +0000 +++ madwifi-0.9.4/ath/if_ath_ahb.c 2009-09-25 04:03:07.000000000 +0000 @@ -321,7 +321,7 @@ printk(KERN_ERR "ath_dev_probe: no memory for device state\n"); goto bad2; } - sc = dev->priv; + sc = netdev_priv(dev); sc->aps_sc.sc_dev = dev; /* diff -Naur madwifi-0.9.4.orig/ath/if_ath_pci.c madwifi-0.9.4/ath/if_ath_pci.c --- madwifi-0.9.4.orig/ath/if_ath_pci.c 2008-01-30 20:56:11.000000000 +0000 +++ madwifi-0.9.4/ath/if_ath_pci.c 2009-09-25 04:03:07.000000000 +0000 @@ -184,7 +184,7 @@ printk(KERN_ERR "ath_pci: no memory for device state\n"); goto bad2; } - sc = dev->priv; + sc = netdev_priv(dev); sc->aps_sc.sc_dev = dev; sc->aps_sc.sc_iobase = mem; @@ -265,7 +265,7 @@ ath_pci_remove(struct pci_dev *pdev) { struct net_device *dev = pci_get_drvdata(pdev); - struct ath_pci_softc *sc = dev->priv; + struct ath_pci_softc *sc = netdev_priv(dev); ath_detach(dev); if (dev->irq) @@ -283,7 +283,7 @@ struct net_device *dev = pci_get_drvdata(pdev); ath_suspend(dev); - PCI_SAVE_STATE(pdev, ((struct ath_pci_softc *)dev->priv)->aps_pmstate); + PCI_SAVE_STATE(pdev, ((struct ath_pci_softc *)netdev_priv(dev))->aps_pmstate); pci_disable_device(pdev); return pci_set_power_state(pdev, PCI_D3hot); } @@ -300,7 +300,7 @@ return err; /* XXX - Should this return nonzero on fail? */ - PCI_RESTORE_STATE(pdev, ((struct ath_pci_softc *)dev->priv)->aps_pmstate); + PCI_RESTORE_STATE(pdev, ((struct ath_pci_softc *)netdev_priv(dev))->aps_pmstate); err = pci_enable_device(pdev); if (err) diff -Naur madwifi-0.9.4.orig/ath_rate/amrr/amrr.c madwifi-0.9.4/ath_rate/amrr/amrr.c --- madwifi-0.9.4.orig/ath_rate/amrr/amrr.c 2007-10-31 05:46:45.000000000 +0000 +++ madwifi-0.9.4/ath_rate/amrr/amrr.c 2009-09-25 04:03:07.000000000 +0000 @@ -303,7 +303,7 @@ static void ath_rate_cb(void *arg, struct ieee80211_node *ni) { - ath_rate_update(ni->ni_ic->ic_dev->priv, ni, (long) arg); + ath_rate_update(netdev_priv(ni->ni_ic->ic_dev), ni, (long) arg); } /* @@ -313,7 +313,7 @@ ath_rate_newstate(struct ieee80211vap *vap, enum ieee80211_state state) { struct ieee80211com *ic = vap->iv_ic; - struct ath_softc *sc = ic->ic_dev->priv; + struct ath_softc *sc = netdev_priv(ic->ic_dev); struct amrr_softc *asc = (struct amrr_softc *) sc->sc_rc; struct ieee80211_node *ni; @@ -425,7 +425,7 @@ ath_ratectl(unsigned long data) { struct net_device *dev = (struct net_device *)data; - struct ath_softc *sc = dev->priv; + struct ath_softc *sc = netdev_priv(dev); struct amrr_softc *asc = (struct amrr_softc *)sc->sc_rc; struct ieee80211com *ic = &sc->sc_ic; int interval; diff -Naur madwifi-0.9.4.orig/ath_rate/minstrel/minstrel.c madwifi-0.9.4/ath_rate/minstrel/minstrel.c --- madwifi-0.9.4.orig/ath_rate/minstrel/minstrel.c 2007-12-12 04:11:07.000000000 +0000 +++ madwifi-0.9.4/ath_rate/minstrel/minstrel.c 2009-09-25 04:03:07.000000000 +0000 @@ -730,7 +730,7 @@ static void ath_rate_cb(void *arg, struct ieee80211_node *ni) { - ath_rate_ctl_reset(ni->ni_ic->ic_dev->priv, ni); + ath_rate_ctl_reset(netdev_priv(ni->ni_ic->ic_dev), ni); } /* Reset the rate control state for each 802.11 state transition. */ @@ -744,7 +744,7 @@ /* Sync rates for associated stations and neighbors. */ ieee80211_iterate_nodes(&ic->ic_sta, ath_rate_cb, NULL); } - ath_rate_newassoc(ic->ic_dev->priv, ATH_NODE(vap->iv_bss), 1); + ath_rate_newassoc(netdev_priv(ic->ic_dev), ATH_NODE(vap->iv_bss), 1); } } @@ -929,7 +929,7 @@ (struct ieee80211_node_table *) &vap->iv_ic->ic_sta; unsigned int x = 0; unsigned int this_tp, this_prob, this_eprob; - struct ath_softc *sc = vap->iv_ic->ic_dev->priv;; + struct ath_softc *sc = netdev_priv(vap->iv_ic->ic_dev); TAILQ_FOREACH(ni, &nt->nt_node, ni_list) { /* Assume each node needs 1500 bytes */ diff -Naur madwifi-0.9.4.orig/ath_rate/onoe/onoe.c madwifi-0.9.4/ath_rate/onoe/onoe.c --- madwifi-0.9.4.orig/ath_rate/onoe/onoe.c 2007-10-31 05:46:45.000000000 +0000 +++ madwifi-0.9.4/ath_rate/onoe/onoe.c 2009-09-25 04:03:07.000000000 +0000 @@ -289,7 +289,7 @@ static void ath_rate_cb(void *arg, struct ieee80211_node *ni) { - ath_rate_update(ni->ni_ic->ic_dev->priv, ni, (long) arg); + ath_rate_update(netdev_priv(ni->ni_ic->ic_dev), ni, (long) arg); } /* @@ -299,7 +299,7 @@ ath_rate_newstate(struct ieee80211vap *vap, enum ieee80211_state state) { struct ieee80211com *ic = vap->iv_ic; - struct ath_softc *sc = ic->ic_dev->priv; + struct ath_softc *sc = netdev_priv(ic->ic_dev); struct ieee80211_node *ni; if (state == IEEE80211_S_INIT) diff -Naur madwifi-0.9.4.orig/ath_rate/sample/sample.c madwifi-0.9.4/ath_rate/sample/sample.c --- madwifi-0.9.4.orig/ath_rate/sample/sample.c 2007-02-27 17:45:56.000000000 +0000 +++ madwifi-0.9.4/ath_rate/sample/sample.c 2009-09-25 04:03:07.000000000 +0000 @@ -882,7 +882,7 @@ static void ath_rate_cb(void *arg, struct ieee80211_node *ni) { - ath_rate_ctl_reset(ni->ni_ic->ic_dev->priv, ni); + ath_rate_ctl_reset(netdev_priv(ni->ni_ic->ic_dev), ni); } /* @@ -900,7 +900,7 @@ */ ieee80211_iterate_nodes(&ic->ic_sta, ath_rate_cb, NULL); } - ath_rate_newassoc(ic->ic_dev->priv, ATH_NODE(vap->iv_bss), 1); + ath_rate_newassoc(netdev_priv(ic->ic_dev), ATH_NODE(vap->iv_bss), 1); } } diff -Naur madwifi-0.9.4.orig/include/compat.h madwifi-0.9.4/include/compat.h --- madwifi-0.9.4.orig/include/compat.h 2009-09-25 04:03:27.000000000 +0000 +++ madwifi-0.9.4/include/compat.h 2009-09-25 04:03:07.000000000 +0000 @@ -134,6 +134,10 @@ #define IRQF_SHARED SA_SHIRQ #endif +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,27) +#define netdev_priv(_netdev) ((_netdev)->priv) +#endif + #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22) #include static inline unsigned char *skb_end_pointer(const struct sk_buff *skb) diff -Naur madwifi-0.9.4.orig/net80211/ieee80211.c madwifi-0.9.4/net80211/ieee80211.c --- madwifi-0.9.4.orig/net80211/ieee80211.c 2007-12-25 03:15:19.000000000 +0000 +++ madwifi-0.9.4/net80211/ieee80211.c 2009-09-25 04:03:07.000000000 +0000 @@ -378,7 +378,7 @@ #define IEEE80211_C_OPMODE \ (IEEE80211_C_IBSS | IEEE80211_C_HOSTAP | IEEE80211_C_AHDEMO | \ IEEE80211_C_MONITOR) - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct net_device *parent = ic->ic_dev; int err; @@ -1018,7 +1018,7 @@ static void ieee80211com_media_status(struct net_device *dev, struct ifmediareq *imr) { - struct ieee80211com *ic = dev->priv; /*XXX*/ + struct ieee80211com *ic = netdev_priv(dev); /*XXX*/ imr->ifm_status = IFM_AVALID; if (!TAILQ_EMPTY(&ic->ic_vaps)) @@ -1070,7 +1070,7 @@ static int ieee80211com_media_change(struct net_device *dev) { - struct ieee80211com *ic = dev->priv; /*XXX*/ + struct ieee80211com *ic = netdev_priv(dev); /*XXX*/ struct ieee80211vap *vap; struct ifmedia_entry *ime = ic->ic_media.ifm_cur; enum ieee80211_phymode newphymode; @@ -1183,7 +1183,7 @@ int ieee80211_media_change(struct net_device *dev) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct ieee80211com *ic = vap->iv_ic; struct ifmedia_entry *ime = vap->iv_media.ifm_cur; enum ieee80211_phymode newmode; @@ -1227,7 +1227,7 @@ void ieee80211_media_status(struct net_device *dev, struct ifmediareq *imr) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct ieee80211com *ic = vap->iv_ic; enum ieee80211_phymode mode; struct ieee80211_rateset *rs; @@ -1445,7 +1445,7 @@ static struct net_device_stats * ieee80211_getstats(struct net_device *dev) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct net_device_stats *stats = &vap->iv_devstats; /* XXX total guess as to what to count where */ @@ -1484,7 +1484,7 @@ static void ieee80211_set_multicast_list(struct net_device *dev) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct ieee80211com *ic = vap->iv_ic; struct net_device *parent = ic->ic_dev; diff -Naur madwifi-0.9.4.orig/net80211/ieee80211_linux.c madwifi-0.9.4/net80211/ieee80211_linux.c --- madwifi-0.9.4.orig/net80211/ieee80211_linux.c 2007-12-13 03:53:42.000000000 +0000 +++ madwifi-0.9.4/net80211/ieee80211_linux.c 2009-09-25 04:03:07.000000000 +0000 @@ -140,7 +140,7 @@ static void ieee80211_vlan_register(struct net_device *dev, struct vlan_group *grp) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); vap->iv_vlgrp = grp; } @@ -151,7 +151,7 @@ static void ieee80211_vlan_add_vid(struct net_device *dev, unsigned short vid) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); if (vap->iv_vlgrp != NULL) vap->iv_bss->ni_vlan = vid; @@ -163,7 +163,7 @@ static void ieee80211_vlan_kill_vid(struct net_device *dev, unsigned short vid) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); if (vap->iv_vlgrp != NULL) vlan_group_set_device(vap->iv_vlgrp, vid, NULL); @@ -333,18 +333,18 @@ int ieee80211_load_module(const char *modname) { -#ifdef CONFIG_KMOD +#if defined(CONFIG_KMOD) || (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,27)) int rv; rv = request_module(modname); if (rv < 0) printk(KERN_ERR "failed to automatically load module: %s; " \ "errno: %d\n", modname, rv); return rv; -#else /* CONFIG_KMOD */ +#else /* CONFIG_KMOD || 2.6.27+ */ printk(KERN_ERR "Unable to load needed module: %s; no support for " \ "automatic module loading", modname ); return -ENOSYS; -#endif /* CONFIG_KMOD */ +#endif /* CONFIG_KMOD || 2.6.27+ */ } @@ -899,8 +899,8 @@ switch (event) { case NETDEV_CHANGENAME: - ieee80211_sysctl_vdetach(dev->priv); - ieee80211_sysctl_vattach(dev->priv); + ieee80211_sysctl_vdetach(netdev_priv(dev)); + ieee80211_sysctl_vattach(netdev_priv(dev)); return NOTIFY_DONE; default: break; diff -Naur madwifi-0.9.4.orig/net80211/ieee80211_output.c madwifi-0.9.4/net80211/ieee80211_output.c --- madwifi-0.9.4.orig/net80211/ieee80211_output.c 2007-12-13 06:21:32.000000000 +0000 +++ madwifi-0.9.4/net80211/ieee80211_output.c 2009-09-25 04:03:07.000000000 +0000 @@ -200,7 +200,7 @@ int ieee80211_hardstart(struct sk_buff *skb, struct net_device *dev) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct ieee80211com *ic = vap->iv_ic; struct net_device *parent = ic->ic_dev; struct ieee80211_node *ni = NULL; @@ -304,7 +304,7 @@ } void ieee80211_parent_queue_xmit(struct sk_buff *skb) { - struct ieee80211vap *vap = skb->dev->priv; + struct ieee80211vap *vap = netdev_priv(skb->dev); vap->iv_devstats.tx_packets++; vap->iv_devstats.tx_bytes += skb->len; diff -Naur madwifi-0.9.4.orig/net80211/ieee80211_proto.c madwifi-0.9.4/net80211/ieee80211_proto.c --- madwifi-0.9.4.orig/net80211/ieee80211_proto.c 2007-12-25 03:12:31.000000000 +0000 +++ madwifi-0.9.4/net80211/ieee80211_proto.c 2009-09-25 04:03:07.000000000 +0000 @@ -946,7 +946,7 @@ { #define IS_RUNNING(_dev) \ ((_dev->flags & (IFF_RUNNING|IFF_UP)) == (IFF_RUNNING|IFF_UP)) - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct ieee80211com *ic = vap->iv_ic; struct net_device *parent = ic->ic_dev; @@ -1043,7 +1043,7 @@ int ieee80211_stop(struct net_device *dev) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct ieee80211com *ic = vap->iv_ic; struct net_device *parent = ic->ic_dev; diff -Naur madwifi-0.9.4.orig/net80211/ieee80211_wireless.c madwifi-0.9.4/net80211/ieee80211_wireless.c --- madwifi-0.9.4.orig/net80211/ieee80211_wireless.c 2009-09-25 04:03:31.000000000 +0000 +++ madwifi-0.9.4/net80211/ieee80211_wireless.c 2009-09-25 04:03:07.000000000 +0000 @@ -78,7 +78,7 @@ static void preempt_scan(struct net_device *dev, int max_grace, int max_wait) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct ieee80211com *ic = vap->iv_ic; int total_delay = 0; int canceled = 0, ready = 0; @@ -111,7 +111,7 @@ static struct iw_statistics * ieee80211_iw_getstats(struct net_device *dev) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct iw_statistics *is = &vap->iv_iwstats; struct ieee80211com *ic = vap->iv_ic; @@ -135,7 +135,7 @@ ieee80211_ioctl_giwname(struct net_device *dev, struct iw_request_info *info, char *name, char *extra) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct ieee80211_channel *c = vap->iv_ic->ic_curchan; if (IEEE80211_IS_CHAN_108G(c)) @@ -185,7 +185,7 @@ ieee80211_ioctl_siwencode(struct net_device *dev, struct iw_request_info *info, struct iw_point *erq, char *keybuf) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); int kid, error; int wepchange = 0; @@ -289,7 +289,7 @@ ieee80211_ioctl_giwencode(struct net_device *dev, struct iw_request_info *info, struct iw_point *erq, char *key) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct ieee80211_key *k; int error, kid; @@ -333,7 +333,7 @@ IFM_IEEE80211_11A | IFM_IEEE80211_TURBO, IFM_IEEE80211_11G | IFM_IEEE80211_TURBO, }; - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct ieee80211com *ic = vap->iv_ic; struct ifreq ifr; int rate, retv; @@ -368,7 +368,7 @@ ieee80211_ioctl_giwrate(struct net_device *dev, struct iw_request_info *info, struct iw_param *rrq, char *extra) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct ifmediareq imr; int rate; @@ -406,7 +406,7 @@ ieee80211_ioctl_siwrts(struct net_device *dev, struct iw_request_info *info, struct iw_param *rts, char *extra) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct ieee80211com *ic = vap->iv_ic; u16 val; @@ -429,7 +429,7 @@ ieee80211_ioctl_giwrts(struct net_device *dev, struct iw_request_info *info, struct iw_param *rts, char *extra) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); rts->value = vap->iv_rtsthreshold; rts->disabled = (rts->value == IEEE80211_RTS_MAX); @@ -442,7 +442,7 @@ ieee80211_ioctl_siwfrag(struct net_device *dev, struct iw_request_info *info, struct iw_param *rts, char *extra) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct ieee80211com *ic = vap->iv_ic; u16 val; @@ -465,7 +465,7 @@ ieee80211_ioctl_giwfrag(struct net_device *dev, struct iw_request_info *info, struct iw_param *rts, char *extra) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); rts->value = vap->iv_fragthreshold; rts->disabled = (rts->value == 2346); @@ -478,7 +478,7 @@ ieee80211_ioctl_siwap(struct net_device *dev, struct iw_request_info *info, struct sockaddr *ap_addr, char *extra) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); /* NB: should not be set when in AP mode */ if (vap->iv_opmode == IEEE80211_M_HOSTAP) @@ -513,7 +513,7 @@ ieee80211_ioctl_giwap(struct net_device *dev, struct iw_request_info *info, struct sockaddr *ap_addr, char *extra) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); if (vap->iv_flags & IEEE80211_F_DESBSSID) IEEE80211_ADDR_COPY(&ap_addr->sa_data, vap->iv_des_bssid); @@ -534,7 +534,7 @@ ieee80211_ioctl_siwnickn(struct net_device *dev, struct iw_request_info *info, struct iw_point *data, char *nickname) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); if (data->length > IEEE80211_NWID_LEN) return -EINVAL; @@ -550,7 +550,7 @@ ieee80211_ioctl_giwnickn(struct net_device *dev, struct iw_request_info *info, struct iw_point *data, char *nickname) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); if (data->length > vap->iv_nicknamelen + 1) data->length = vap->iv_nicknamelen + 1; @@ -659,7 +659,7 @@ ieee80211_ioctl_siwfreq(struct net_device *dev, struct iw_request_info *info, struct iw_freq *freq, char *extra) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct ieee80211com *ic = vap->iv_ic; struct ieee80211_channel *c, *c2; int i; @@ -773,7 +773,7 @@ ieee80211_ioctl_giwfreq(struct net_device *dev, struct iw_request_info *info, struct iw_freq *freq, char *extra) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct ieee80211com *ic = vap->iv_ic; if (vap->iv_state == IEEE80211_S_RUN && @@ -814,7 +814,7 @@ ieee80211_ioctl_siwessid(struct net_device *dev, struct iw_request_info *info, struct iw_point *data, char *ssid) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); if (vap->iv_opmode == IEEE80211_M_WDS) return -EOPNOTSUPP; @@ -856,7 +856,7 @@ ieee80211_ioctl_giwessid(struct net_device *dev, struct iw_request_info *info, struct iw_point *data, char *essid) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); if (vap->iv_opmode == IEEE80211_M_WDS) return -EOPNOTSUPP; @@ -887,7 +887,7 @@ ieee80211_ioctl_giwrange(struct net_device *dev, struct iw_request_info *info, struct iw_point *data, char *extra) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct ieee80211com *ic = vap->iv_ic; struct ieee80211_node *ni = vap->iv_bss; struct iw_range *range = (struct iw_range *) extra; @@ -1034,7 +1034,7 @@ struct iw_point *data, char *extra) { /* save the list of node addresses */ - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct sockaddr address[IW_MAX_SPY]; unsigned int number = data->length; int i; @@ -1072,7 +1072,7 @@ * locate nodes by mac (ieee80211_find_node()), * copy out rssi, set updated flag appropriately */ - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct ieee80211_node_table *nt = &vap->iv_ic->ic_sta; struct ieee80211_node *ni; struct ieee80211com *ic = vap->iv_ic; @@ -1118,7 +1118,7 @@ ieee80211_ioctl_setthrspy(struct net_device *dev, struct iw_request_info *info, struct iw_point *data, char *extra) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct iw_thrspy threshold; if (data->length != 1) @@ -1155,7 +1155,7 @@ ieee80211_ioctl_getthrspy(struct net_device *dev, struct iw_request_info *info, struct iw_point *data, char *extra) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct ieee80211com *ic = vap->iv_ic; struct iw_thrspy *threshold; @@ -1176,7 +1176,7 @@ ieee80211_ioctl_siwmode(struct net_device *dev, struct iw_request_info *info, __u32 *mode, char *extra) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct ifmediareq imr; int valid = 0; @@ -1203,7 +1203,7 @@ ieee80211_ioctl_giwmode(struct net_device *dev, struct iw_request_info *info, __u32 *mode, char *extra) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct ifmediareq imr; memset(&imr, 0, sizeof(imr)); @@ -1228,7 +1228,7 @@ ieee80211_ioctl_siwpower(struct net_device *dev, struct iw_request_info *info, struct iw_param *wrq, char *extra) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct ieee80211com *ic = vap->iv_ic; /* XXX: These values, flags, and caps do not seem to be used elsewhere @@ -1268,7 +1268,7 @@ ieee80211_ioctl_giwpower(struct net_device *dev, struct iw_request_info *info, struct iw_param *rrq, char *extra) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct ieee80211com *ic = vap->iv_ic; rrq->disabled = (ic->ic_flags & IEEE80211_F_PMGTON) == 0; @@ -1292,7 +1292,7 @@ ieee80211_ioctl_siwretry(struct net_device *dev, struct iw_request_info *info, struct iw_param *rrq, char *extra) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct ieee80211com *ic = vap->iv_ic; if (rrq->disabled) { @@ -1324,7 +1324,7 @@ ieee80211_ioctl_giwretry(struct net_device *dev, struct iw_request_info *info, struct iw_param *rrq, char *extra) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); rrq->disabled = (vap->iv_flags & IEEE80211_F_SWRETRY) == 0; if (!rrq->disabled) { @@ -1355,7 +1355,7 @@ ieee80211_ioctl_siwtxpow(struct net_device *dev, struct iw_request_info *info, struct iw_param *rrq, char *extra) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct ieee80211com *ic = vap->iv_ic; int fixed, disabled; @@ -1410,7 +1410,7 @@ ieee80211_ioctl_giwtxpow(struct net_device *dev, struct iw_request_info *info, struct iw_param *rrq, char *extra) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct ieee80211com *ic = vap->iv_ic; rrq->value = vap->iv_bss->ni_txpower / 2; @@ -1450,7 +1450,7 @@ ieee80211_ioctl_iwaplist(struct net_device *dev, struct iw_request_info *info, struct iw_point *data, char *extra) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct ieee80211com *ic = vap->iv_ic; struct waplistreq req; /* XXX off stack */ @@ -1472,7 +1472,7 @@ ieee80211_ioctl_siwscan(struct net_device *dev, struct iw_request_info *info, struct iw_point *data, char *extra) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); /* * XXX don't permit a scan to be started unless we @@ -1820,7 +1820,7 @@ ieee80211_ioctl_giwscan(struct net_device *dev, struct iw_request_info *info, struct iw_point *data, char *extra) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct ieee80211com *ic = vap->iv_ic; struct iwscanreq req; int res = 0; @@ -1922,7 +1922,7 @@ ieee80211_ioctl_setmode(struct net_device *dev, struct iw_request_info *info, struct iw_point *wri, char *extra) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct ieee80211com *ic = vap->iv_ic; struct ifreq ifr; char s[6]; /* big enough for ``11adt'' */ @@ -2047,10 +2047,10 @@ static int ieee80211_set_turbo(struct net_device *dev, int flag) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct ieee80211com *ic = vap->iv_ic; struct ifreq ifr; - struct ieee80211vap *tmpvap = dev->priv; + struct ieee80211vap *tmpvap = netdev_priv(dev); int nvap = 0; TAILQ_FOREACH(tmpvap, &ic->ic_vaps, iv_next) @@ -2071,7 +2071,7 @@ ieee80211_ioctl_setparam(struct net_device *dev, struct iw_request_info *info, void *w, char *extra) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct ieee80211com *ic = vap->iv_ic; struct ieee80211_rsnparms *rsn = &vap->iv_bss->ni_rsn; int *i = (int *) extra; @@ -2603,7 +2603,7 @@ ieee80211_ioctl_getmode(struct net_device *dev, struct iw_request_info *info, struct iw_point *wri, char *extra) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct ieee80211com *ic = vap->iv_ic; struct ifmediareq imr; @@ -2641,7 +2641,7 @@ ieee80211_ioctl_getparam(struct net_device *dev, struct iw_request_info *info, void *w, char *extra) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct ieee80211com *ic = vap->iv_ic; struct ieee80211_rsnparms *rsn = &vap->iv_bss->ni_rsn; int *param = (int *) extra; @@ -2916,7 +2916,7 @@ ieee80211_ioctl_setoptie(struct net_device *dev, struct iw_request_info *info, struct iw_point *wri, char *extra) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); void *ie; /* @@ -2950,7 +2950,7 @@ ieee80211_ioctl_getoptie(struct net_device *dev, struct iw_request_info *info, struct iw_point *wri, char *extra) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); if (vap->iv_opt_ie == NULL) { wri->length = 0; @@ -3014,7 +3014,7 @@ struct iw_request_info *info, struct iw_point *data, char *extra) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct ieee80211req_getset_appiebuf *iebuf = (struct ieee80211req_getset_appiebuf *)extra; enum ieee80211_opmode chk_opmode; @@ -3056,7 +3056,7 @@ ieee80211_ioctl_getappiebuf(struct net_device *dev, struct iw_request_info *info, struct iw_point *data, char *extra) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct ieee80211req_getset_appiebuf *iebuf = (struct ieee80211req_getset_appiebuf *)extra; int max_iebuf_len; @@ -3097,7 +3097,7 @@ ieee80211_ioctl_setfilter(struct net_device *dev, struct iw_request_info *info, void *w, char *extra) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct ieee80211req_set_filter *app_filter = (struct ieee80211req_set_filter *)extra; if ((extra == NULL) || (app_filter->app_filterype & ~IEEE80211_FILTER_TYPE_ALL)) @@ -3112,7 +3112,7 @@ ieee80211_ioctl_setkey(struct net_device *dev, struct iw_request_info *info, void *w, char *extra) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct ieee80211com *ic = vap->iv_ic; struct ieee80211req_key *ik = (struct ieee80211req_key *)extra; struct ieee80211_node *ni; @@ -3181,7 +3181,7 @@ static int ieee80211_ioctl_getkey(struct net_device *dev, struct iwreq *iwr) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct ieee80211com *ic = vap->iv_ic; struct ieee80211_node *ni; struct ieee80211req_key ik; @@ -3237,7 +3237,7 @@ ieee80211_ioctl_delkey(struct net_device *dev, struct iw_request_info *info, void *w, char *extra) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct ieee80211com *ic = vap->iv_ic; struct ieee80211req_del_key *dk = (struct ieee80211req_del_key *)extra; int kid; @@ -3309,7 +3309,7 @@ ieee80211_ioctl_setmlme(struct net_device *dev, struct iw_request_info *info, void *w, char *extra) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct ieee80211com *ic = vap->iv_ic; struct ieee80211req_mlme *mlme = (struct ieee80211req_mlme *)extra; struct ieee80211_node *ni; @@ -3397,7 +3397,7 @@ ieee80211_ioctl_wdsmac(struct net_device *dev, struct iw_request_info *info, void *w, char *extra) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct sockaddr *sa = (struct sockaddr *)extra; struct ieee80211com *ic = vap->iv_ic; @@ -3424,7 +3424,7 @@ ieee80211_ioctl_wdsdelmac(struct net_device *dev, struct iw_request_info *info, void *w, char *extra) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct sockaddr *sa = (struct sockaddr *)extra; struct ieee80211com *ic = vap->iv_ic; @@ -3474,7 +3474,7 @@ ieee80211_ioctl_addmac(struct net_device *dev, struct iw_request_info *info, void *w, char *extra) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct sockaddr *sa = (struct sockaddr *)extra; const struct ieee80211_aclator *acl = vap->iv_acl; @@ -3492,7 +3492,7 @@ ieee80211_ioctl_delmac(struct net_device *dev, struct iw_request_info *info, void *w, char *extra) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct sockaddr *sa = (struct sockaddr *)extra; const struct ieee80211_aclator *acl = vap->iv_acl; @@ -3510,7 +3510,7 @@ ieee80211_ioctl_setchanlist(struct net_device *dev, struct iw_request_info *info, void *w, char *extra) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct ieee80211com *ic = vap->iv_ic; struct ieee80211req_chanlist *list = (struct ieee80211req_chanlist *)extra; @@ -3552,7 +3552,7 @@ ieee80211_ioctl_getchanlist(struct net_device *dev, struct iw_request_info *info, void *w, char *extra) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct ieee80211com *ic = vap->iv_ic; memcpy(extra, ic->ic_chan_active, sizeof(ic->ic_chan_active)); @@ -3563,7 +3563,7 @@ ieee80211_ioctl_getchaninfo(struct net_device *dev, struct iw_request_info *info, void *w, char *extra) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct ieee80211com *ic = vap->iv_ic; struct ieee80211req_chaninfo *chans = (struct ieee80211req_chaninfo *) extra; @@ -3607,7 +3607,7 @@ ieee80211_ioctl_setwmmparams(struct net_device *dev, struct iw_request_info *info, void *w, char *extra) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); int *param = (int *) extra; int ac = (param[1] >= 0 && param[1] < WME_NUM_AC) ? param[1] : WME_AC_BE; @@ -3696,7 +3696,7 @@ ieee80211_ioctl_getwmmparams(struct net_device *dev, struct iw_request_info *info, void *w, char *extra) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); int *param = (int *) extra; int ac = (param[1] >= 0 && param[1] < WME_NUM_AC) ? param[1] : WME_AC_BE; @@ -3732,7 +3732,7 @@ static int ieee80211_ioctl_getwpaie(struct net_device *dev, struct iwreq *iwr) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct ieee80211com *ic = vap->iv_ic; struct ieee80211_node *ni; struct ieee80211req_wpaie wpaie; @@ -3765,7 +3765,7 @@ static int ieee80211_ioctl_getstastats(struct net_device *dev, struct iwreq *iwr) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct ieee80211com *ic = vap->iv_ic; struct ieee80211_node *ni; u_int8_t macaddr[IEEE80211_ADDR_LEN]; @@ -3883,7 +3883,7 @@ static int ieee80211_ioctl_getscanresults(struct net_device *dev, struct iwreq *iwr) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct ieee80211com *ic = vap->iv_ic; struct scanreq req; int error; @@ -4041,7 +4041,7 @@ static int ieee80211_ioctl_getstainfo(struct net_device *dev, struct iwreq *iwr) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct ieee80211com *ic = vap->iv_ic; struct stainforeq req; int error; @@ -4075,7 +4075,7 @@ static void pre_announced_chanswitch(struct net_device *dev, u_int32_t channel, u_int32_t tbtt) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct ieee80211com *ic = vap->iv_ic; /* now flag the beacon update to include the channel switch IE */ ic->ic_flags |= IEEE80211_F_CHANSWITCH; @@ -4087,7 +4087,7 @@ ieee80211_ioctl_chanswitch(struct net_device *dev, struct iw_request_info *info, void *w, char *extra) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct ieee80211com *ic = vap->iv_ic; int *param = (int *) extra; @@ -4132,7 +4132,7 @@ ieee80211_ioctl_giwgenie(struct net_device *dev, struct iw_request_info *info, struct iw_point *out, char *buf) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); if (out->length < vap->iv_opt_ie_len) return -E2BIG; @@ -4665,7 +4665,7 @@ ieee80211_ioctl_giwencodeext(struct net_device *dev, struct iw_request_info *info, struct iw_point *erq, char *extra) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct iw_encode_ext *ext; struct ieee80211_key *wk; int error; @@ -4725,7 +4725,7 @@ ieee80211_ioctl_siwencodeext(struct net_device *dev, struct iw_request_info *info, struct iw_point *erq, char *extra) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); struct iw_encode_ext *ext = (struct iw_encode_ext *)extra; struct ieee80211req_key kr; int error; @@ -5309,7 +5309,7 @@ static int ieee80211_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) { - struct ieee80211vap *vap = dev->priv; + struct ieee80211vap *vap = netdev_priv(dev); u_int unit; switch (cmd) {