add preliminary 2.6.32 support
[openwrt.git] / package / madwifi / patches / 430-use_netdev_priv.patch
index d6301bc..642a9d2 100644 (file)
        int rx_limit = min(dev->quota, *budget);
  #endif
        struct ath_buf *bf;
-@@ -7302,7 +7302,7 @@ static void ath_grppoll_start(struct iee
+@@ -7305,7 +7305,7 @@ static void ath_grppoll_start(struct iee
        struct sk_buff *skb = NULL;
        struct ath_buf *bf, *head = NULL;
        struct ieee80211com *ic = vap->iv_ic;
        struct ath_hal *ah = sc->sc_ah;
        u_int8_t rate;
        unsigned int ctsrate = 0, ctsduration = 0;
-@@ -7520,7 +7520,7 @@ static void ath_grppoll_start(struct iee
+@@ -7523,7 +7523,7 @@ static void ath_grppoll_start(struct iee
  static void ath_grppoll_stop(struct ieee80211vap *vap)
  {
        struct ieee80211com *ic = vap->iv_ic;
        struct ath_hal *ah = sc->sc_ah;
        struct ath_txq *txq = &sc->sc_grpplq;
        struct ath_buf *bf;
-@@ -7732,7 +7732,7 @@ ath_txq_update(struct ath_softc *sc, str
+@@ -7735,7 +7735,7 @@ ath_txq_update(struct ath_softc *sc, str
  static int
  ath_wme_update(struct ieee80211com *ic)
  {
  
        if (sc->sc_uapsdq)
                ath_txq_update(sc, sc->sc_uapsdq, WME_AC_VO);
-@@ -7751,7 +7751,7 @@ ath_uapsd_flush(struct ieee80211_node *n
+@@ -7754,7 +7754,7 @@ ath_uapsd_flush(struct ieee80211_node *n
  {
        struct ath_node *an = ATH_NODE(ni);
        struct ath_buf *bf;
        struct ath_txq *txq;
  
        ATH_NODE_UAPSD_LOCK_IRQ(an);
-@@ -7942,7 +7942,7 @@ ath_tx_start(struct net_device *dev, str
+@@ -7945,7 +7945,7 @@ ath_tx_start(struct net_device *dev, str
                struct ath_buf *bf, struct sk_buff *skb, int nextfraglen)
  {
  #define       MIN(a,b)        ((a) < (b) ? (a) : (b))
        struct ieee80211com *ic = ni->ni_ic;
        struct ieee80211vap *vap = ni->ni_vap;
        struct ath_hal *ah = sc->sc_ah;
-@@ -8851,7 +8851,7 @@ static void
+@@ -8854,7 +8854,7 @@ static void
  ath_tx_tasklet_q0(TQUEUE_ARG data)
  {
        struct net_device *dev = (struct net_device *)data;
        unsigned long flags;
  
  process_tx_again:
-@@ -8882,7 +8882,7 @@ static void
+@@ -8885,7 +8885,7 @@ static void
  ath_tx_tasklet_q0123(TQUEUE_ARG data)
  {
        struct net_device *dev = (struct net_device *)data;
        unsigned long flags;
  
  process_tx_again:
-@@ -8927,7 +8927,7 @@ static void
+@@ -8930,7 +8930,7 @@ static void
  ath_tx_tasklet(TQUEUE_ARG data)
  {
        struct net_device *dev = (struct net_device *)data;
        unsigned int i;
        unsigned long flags;
  
-@@ -8955,7 +8955,7 @@ process_tx_again:
+@@ -8958,7 +8958,7 @@ process_tx_again:
  static void
  ath_tx_timeout(struct net_device *dev)
  {
  
        if (ath_chan_unavail(sc))
                return;
-@@ -9363,7 +9363,7 @@ static void
+@@ -9366,7 +9366,7 @@ static void
  ath_calibrate(unsigned long arg)
  {
        struct net_device *dev = (struct net_device *)arg;
        struct ath_hal *ah = sc->sc_ah;
        struct ieee80211com *ic = &sc->sc_ic;
        /* u_int32_t nchans; */
-@@ -9438,7 +9438,7 @@ static void
+@@ -9441,7 +9441,7 @@ static void
  ath_scan_start(struct ieee80211com *ic)
  {
        struct net_device *dev = ic->ic_dev;
        struct ath_hal *ah = sc->sc_ah;
        u_int32_t rfilt;
  
-@@ -9458,7 +9458,7 @@ static void
+@@ -9461,7 +9461,7 @@ static void
  ath_scan_end(struct ieee80211com *ic)
  {
        struct net_device *dev = ic->ic_dev;
        struct ath_hal *ah = sc->sc_ah;
        u_int32_t rfilt;
  
-@@ -9476,7 +9476,7 @@ static void
+@@ -9479,7 +9479,7 @@ static void
  ath_set_channel(struct ieee80211com *ic)
  {
        struct net_device *dev = ic->ic_dev;
  
        (void) ath_chan_set(sc, ic->ic_curchan);
        ic->ic_channoise = ath_hal_get_channel_noise(sc->sc_ah, &(sc->sc_curchan));
-@@ -9493,7 +9493,7 @@ ath_set_channel(struct ieee80211com *ic)
+@@ -9496,7 +9496,7 @@ ath_set_channel(struct ieee80211com *ic)
  static void
  ath_set_coverageclass(struct ieee80211com *ic)
  {
  
        sc->sc_coverage = ic->ic_coverageclass * 3;
        ath_set_timing(sc);
-@@ -9504,7 +9504,7 @@ ath_set_coverageclass(struct ieee80211co
+@@ -9507,7 +9507,7 @@ ath_set_coverageclass(struct ieee80211co
  static u_int
  ath_mhz2ieee(struct ieee80211com *ic, u_int freq, u_int flags)
  {
  
        return (ath_hal_mhz2ieee(sc->sc_ah, freq, flags));
  }
-@@ -9519,7 +9519,7 @@ ath_newstate(struct ieee80211vap *vap, e
+@@ -9522,7 +9522,7 @@ ath_newstate(struct ieee80211vap *vap, e
        struct ath_vap *avp = ATH_VAP(vap);
        struct ieee80211com *ic = vap->iv_ic;
        struct net_device *dev = ic->ic_dev;
        struct ath_hal *ah = sc->sc_ah;
        struct ieee80211_node *ni, *wds_ni;
        unsigned int i;
-@@ -9959,7 +9959,7 @@ ath_setup_comp(struct ieee80211_node *ni
+@@ -9962,7 +9962,7 @@ ath_setup_comp(struct ieee80211_node *ni
  {
  #define       IEEE80211_KEY_XR        (IEEE80211_KEY_XMIT | IEEE80211_KEY_RECV)
        struct ieee80211vap *vap = ni->ni_vap;
        struct ath_node *an = ATH_NODE(ni);
        ieee80211_keyix_t keyix;
  
-@@ -10013,7 +10013,7 @@ static void
+@@ -10016,7 +10016,7 @@ static void
  ath_setup_stationkey(struct ieee80211_node *ni)
  {
        struct ieee80211vap *vap = ni->ni_vap;
        ieee80211_keyix_t keyix;
  
        keyix = ath_key_alloc(vap, &ni->ni_ucastkey);
-@@ -10174,7 +10174,7 @@ ath_newassoc(struct ieee80211_node *ni, 
+@@ -10177,7 +10177,7 @@ ath_newassoc(struct ieee80211_node *ni, 
  {
        struct ieee80211com *ic = ni->ni_ic;
        struct ieee80211vap *vap = ni->ni_vap;
  
        sc->sc_rc->ops->newassoc(sc, ATH_NODE(ni), isnew);
        ath_wprobe_node_join(ni->ni_vap, ni);
-@@ -10205,7 +10205,7 @@ ath_newassoc(struct ieee80211_node *ni, 
+@@ -10208,7 +10208,7 @@ ath_newassoc(struct ieee80211_node *ni, 
  static int
  ath_getchannels(struct net_device *dev)
  {
        struct ieee80211com *ic = &sc->sc_ic;
        struct ath_hal *ah = sc->sc_ah;
        HAL_CHANNEL *chans;
-@@ -10482,7 +10482,7 @@ ath_update_txpow(struct ath_softc *sc)
+@@ -10485,7 +10485,7 @@ ath_update_txpow(struct ath_softc *sc)
  static int
  ath_xr_rate_setup(struct net_device *dev)
  {
        struct ath_hal *ah = sc->sc_ah;
        struct ieee80211com *ic = &sc->sc_ic;
        const HAL_RATE_TABLE *rt;
-@@ -10513,7 +10513,7 @@ ath_xr_rate_setup(struct net_device *dev
+@@ -10516,7 +10516,7 @@ ath_xr_rate_setup(struct net_device *dev
  static int
  ath_rate_setup(struct net_device *dev, u_int mode)
  {
        struct ath_hal *ah = sc->sc_ah;
        struct ieee80211com *ic = &sc->sc_ic;
        const HAL_RATE_TABLE *rt;
-@@ -10760,7 +10760,7 @@ ath_printtxbuf(const struct ath_buf *bf,
+@@ -10763,7 +10763,7 @@ ath_printtxbuf(const struct ath_buf *bf,
  {
        const struct ath_tx_status *ts = &bf->bf_dsstatus.ds_txstat;
        const struct ath_desc *ds = bf->bf_desc;
        u_int8_t status = done ? ts->ts_status : 0;
  
        DPRINTF(sc, ATH_DEBUG_ANY, 
-@@ -10787,7 +10787,7 @@ ath_printtxbuf(const struct ath_buf *bf,
+@@ -10790,7 +10790,7 @@ ath_printtxbuf(const struct ath_buf *bf,
  static struct net_device_stats *
  ath_getstats(struct net_device *dev)
  {
        struct net_device_stats *stats = &sc->sc_devstats;
  
        /* update according to private statistics */
-@@ -10810,7 +10810,7 @@ ath_getstats(struct net_device *dev)
+@@ -10813,7 +10813,7 @@ ath_getstats(struct net_device *dev)
  static int
  ath_set_mac_address(struct net_device *dev, void *addr)
  {
        struct ieee80211com *ic = &sc->sc_ic;
        struct ath_hal *ah = sc->sc_ah;
        struct sockaddr *mac = addr;
-@@ -10839,7 +10839,7 @@ ath_set_mac_address(struct net_device *d
+@@ -10842,7 +10842,7 @@ ath_set_mac_address(struct net_device *d
  static int
  ath_change_mtu(struct net_device *dev, int mtu)
  {
        int error = 0;
  
        if (!(ATH_MIN_MTU < mtu && mtu <= ATH_MAX_MTU)) {
-@@ -10926,7 +10926,7 @@ bad:
+@@ -10929,7 +10929,7 @@ bad:
  static int
  ath_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
  {
        struct ieee80211com *ic = &sc->sc_ic;
        int error;
  
-@@ -11807,7 +11807,7 @@ static void
+@@ -11810,7 +11810,7 @@ static void
  ath_announce(struct net_device *dev)
  {
  #define       HAL_MODE_DUALBAND       (HAL_MODE_11A|HAL_MODE_11B)
        struct ath_hal *ah = sc->sc_ah;
        u_int modes, cc;
        static const int MLEN = 1024;
-@@ -11994,7 +11994,7 @@ static void
+@@ -11997,7 +11997,7 @@ static void
  txcont_configure_radio(struct ieee80211com *ic)
  {
        struct net_device           *dev = ic->ic_dev;
        struct ath_hal              *ah = sc->sc_ah;
        struct ieee80211_wme_state  *wme = &ic->ic_wme;
        struct ieee80211vap         *vap = TAILQ_FIRST(&ic->ic_vaps);
-@@ -12268,7 +12268,7 @@ static void
+@@ -12271,7 +12271,7 @@ static void
  txcont_queue_packet(struct ieee80211com *ic, struct ath_txq* txq)
  {
        struct net_device *dev             = ic->ic_dev;
        struct ath_hal *ah                 = sc->sc_ah;
        struct ath_buf *bf                 = NULL;
        struct sk_buff *skb                = NULL;
-@@ -12401,7 +12401,7 @@ static void
+@@ -12404,7 +12404,7 @@ static void
  txcont_on(struct ieee80211com *ic)
  {
        struct net_device *dev = ic->ic_dev;
  
        if (IFF_RUNNING != (ic->ic_dev->flags & IFF_RUNNING)) {
                EPRINTF(sc, "Cannot enable txcont when"
-@@ -12422,7 +12422,7 @@ static void
+@@ -12425,7 +12425,7 @@ static void
  txcont_off(struct ieee80211com *ic)
  {
        struct net_device *dev = ic->ic_dev;
  
        if (TAILQ_FIRST(&ic->ic_vaps)->iv_opmode != IEEE80211_M_WDS)
                sc->sc_beacons = 1;
-@@ -12436,7 +12436,7 @@ static int
+@@ -12439,7 +12439,7 @@ static int
  ath_get_dfs_testmode(struct ieee80211com *ic)
  {
        struct net_device *dev = ic->ic_dev;
        return sc->sc_dfs_testmode;
  }
  
-@@ -12463,7 +12463,7 @@ static void
+@@ -12466,7 +12466,7 @@ static void
  ath_set_dfs_testmode(struct ieee80211com *ic, int value)
  {
        struct net_device *dev = ic->ic_dev;
        sc->sc_dfs_testmode = !!value;
  }
  
-@@ -12473,7 +12473,7 @@ static int
+@@ -12476,7 +12476,7 @@ static int
  ath_get_txcont(struct ieee80211com *ic)
  {
        struct net_device *dev = ic->ic_dev;
        return sc->sc_txcont;
  }
  
-@@ -12491,7 +12491,7 @@ static void
+@@ -12494,7 +12494,7 @@ static void
  ath_set_txcont_power(struct ieee80211com *ic, unsigned int txpower)
  {
        struct net_device *dev = ic->ic_dev;
        int new_txcont_power = txpower > IEEE80211_TXPOWER_MAX ? 
                IEEE80211_TXPOWER_MAX : txpower;
        if (sc->sc_txcont_power != new_txcont_power) {
-@@ -12509,7 +12509,7 @@ static int
+@@ -12512,7 +12512,7 @@ static int
  ath_get_txcont_power(struct ieee80211com *ic)
  {
        struct net_device *dev = ic->ic_dev;
        /* VERY conservative default */
        return sc->sc_txcont_power ? sc->sc_txcont_power : 0;
  }
-@@ -12519,7 +12519,7 @@ ath_get_txcont_power(struct ieee80211com
+@@ -12522,7 +12522,7 @@ ath_get_txcont_power(struct ieee80211com
  ath_set_txcont_rate(struct ieee80211com *ic, unsigned int new_rate)
  {
        struct net_device *dev = ic->ic_dev;
        if (sc->sc_txcont_rate != new_rate) {
                /*  NOTE: This value is sanity checked and dropped down to 
                 *  closest rate in txcont_on. */
-@@ -12536,7 +12536,7 @@ ath_set_txcont_rate(struct ieee80211com 
+@@ -12539,7 +12539,7 @@ ath_set_txcont_rate(struct ieee80211com 
  ath_get_txcont_rate(struct ieee80211com *ic)
  {
        struct net_device *dev = ic->ic_dev;
        return sc->sc_txcont_rate ? sc->sc_txcont_rate : 0;
  }
  
-@@ -12546,7 +12546,7 @@ static void
+@@ -12549,7 +12549,7 @@ static void
  ath_set_dfs_cac_time(struct ieee80211com *ic, unsigned int time_s)
  {
        struct net_device *dev = ic->ic_dev;
        sc->sc_dfs_cac_period = time_s;
  }
  
-@@ -12556,7 +12556,7 @@ static unsigned int
+@@ -12559,7 +12559,7 @@ static unsigned int
  ath_get_dfs_cac_time(struct ieee80211com *ic)
  {
        struct net_device *dev = ic->ic_dev;
        return sc->sc_dfs_cac_period;
  }
  
-@@ -12576,7 +12576,7 @@ static void
+@@ -12579,7 +12579,7 @@ static void
  ath_set_dfs_excl_period(struct ieee80211com *ic, unsigned int time_s)
  {
        struct net_device *dev = ic->ic_dev;
        sc->sc_dfs_excl_period = time_s;
  }
  
-@@ -12585,7 +12585,7 @@ static unsigned int
+@@ -12588,7 +12588,7 @@ static unsigned int
  ath_get_dfs_excl_period(struct ieee80211com *ic)
  {
        struct net_device *dev = ic->ic_dev;
        return sc->sc_dfs_excl_period;
  }
  
-@@ -12597,7 +12597,7 @@ static unsigned int
+@@ -12600,7 +12600,7 @@ static unsigned int
  ath_test_radar(struct ieee80211com *ic)
  {
        struct net_device *dev = ic->ic_dev;
        if ((ic->ic_flags & IEEE80211_F_DOTH) && (sc->sc_curchan.privFlags & CHANNEL_DFS))
                ath_radar_detected(sc, "ath_test_radar from user space");
        else
-@@ -12613,7 +12613,7 @@ static unsigned int
+@@ -12616,7 +12616,7 @@ static unsigned int
  ath_dump_hal_map(struct ieee80211com *ic)
  {
        struct net_device *dev = ic->ic_dev;
        ath_hal_dump_map(sc->sc_ah);
        return 0;
  }
-@@ -12721,7 +12721,7 @@ ath_rcv_dev_event(struct notifier_block 
+@@ -12724,7 +12724,7 @@ ath_rcv_dev_event(struct notifier_block 
        void *ptr)
  {
        struct net_device *dev = (struct net_device *)ptr;
  
        if (!dev || !sc || dev->open != &ath_init)
                return 0;
-@@ -13456,7 +13456,7 @@ static unsigned int
+@@ -13459,7 +13459,7 @@ static unsigned int
  ath_read_register(struct ieee80211com *ic, unsigned int address, 
                unsigned int* value)
  {
        if (address >= MAX_REGISTER_ADDRESS) {
                IPRINTF(sc, "Illegal Atheros register access "
                                "attempted: 0x%04x >= 0x%04x\n",
-@@ -13486,7 +13486,7 @@ static unsigned int
+@@ -13489,7 +13489,7 @@ static unsigned int
  ath_write_register(struct ieee80211com *ic, unsigned int address, 
                unsigned int value)
  {
        if (address >= MAX_REGISTER_ADDRESS) {
                IPRINTF(sc, "Illegal Atheros register access "
                                "attempted: 0x%04x >= 0x%04x\n",
-@@ -13514,7 +13514,7 @@ static void
+@@ -13517,7 +13517,7 @@ static void
  ath_registers_dump(struct ieee80211com *ic)
  {
        struct net_device *dev = ic->ic_dev;
        ath_ar5212_registers_dump(sc);
  }
  #endif /* #ifdef ATH_REVERSE_ENGINEERING */
-@@ -13526,7 +13526,7 @@ static void
+@@ -13529,7 +13529,7 @@ static void
  ath_registers_mark(struct ieee80211com *ic)
  {
        struct net_device *dev = ic->ic_dev;
        ath_ar5212_registers_mark(sc);
  }
  #endif /* #ifdef ATH_REVERSE_ENGINEERING */
-@@ -13538,7 +13538,7 @@ static void
+@@ -13541,7 +13541,7 @@ static void
  ath_registers_dump_delta(struct ieee80211com *ic)
  {
        struct net_device *dev = ic->ic_dev;
  #define skb_tail_pointer(_skb) ((_skb)->tail)
 --- a/net80211/ieee80211.c
 +++ b/net80211/ieee80211.c
-@@ -457,7 +457,7 @@ ieee80211_vap_setup(struct ieee80211com 
+@@ -458,7 +458,7 @@ ieee80211_vap_setup(struct ieee80211com 
  #define       IEEE80211_C_OPMODE \
        (IEEE80211_C_IBSS | IEEE80211_C_HOSTAP | IEEE80211_C_AHDEMO | \
         IEEE80211_C_MONITOR)
        struct net_device *parent = ic->ic_dev;
        int err;
  
-@@ -1354,7 +1354,7 @@ media_status(enum ieee80211_opmode opmod
+@@ -1355,7 +1355,7 @@ media_status(enum ieee80211_opmode opmod
  static void
  ieee80211com_media_status(struct net_device *dev, struct ifmediareq *imr)
  {
  
        imr->ifm_status = IFM_AVALID;
        if (!TAILQ_EMPTY(&ic->ic_vaps))
-@@ -1406,7 +1406,7 @@ media2mode(const struct ifmedia_entry *i
+@@ -1407,7 +1407,7 @@ media2mode(const struct ifmedia_entry *i
  static int
  ieee80211com_media_change(struct net_device *dev)
  {
        struct ieee80211vap *vap;
        struct ifmedia_entry *ime = ic->ic_media.ifm_cur;
        enum ieee80211_phymode newphymode;
-@@ -1510,7 +1510,7 @@ checkrate(struct ieee80211com *ic, enum 
+@@ -1511,7 +1511,7 @@ checkrate(struct ieee80211com *ic, enum 
  int
  ieee80211_media_change(struct net_device *dev)
  {
        struct ieee80211com *ic = vap->iv_ic;
        struct ifmedia_entry *ime = vap->iv_media.ifm_cur;
        enum ieee80211_phymode newmode;
-@@ -1544,7 +1544,7 @@ EXPORT_SYMBOL(ieee80211_media_change);
+@@ -1545,7 +1545,7 @@ EXPORT_SYMBOL(ieee80211_media_change);
  void
  ieee80211_media_status(struct net_device *dev, struct ifmediareq *imr)
  {
        struct ieee80211com *ic = vap->iv_ic;
        enum ieee80211_phymode mode;
        struct ieee80211_rateset *rs;
-@@ -1750,7 +1750,7 @@ EXPORT_SYMBOL(ieee80211_media2rate);
+@@ -1751,7 +1751,7 @@ EXPORT_SYMBOL(ieee80211_media2rate);
  static struct net_device_stats *
  ieee80211_getstats(struct net_device *dev)
  {
        struct net_device_stats *stats = &vap->iv_devstats;
  
        /* XXX: Total guess as to what to count where */
-@@ -1789,7 +1789,7 @@ ieee80211_change_mtu(struct net_device *
+@@ -1790,7 +1790,7 @@ ieee80211_change_mtu(struct net_device *
  static void
  ieee80211_set_multicast_list(struct net_device *dev)
  {
  
        if (vap->iv_opmode == IEEE80211_M_WDS)
                return -EOPNOTSUPP;
-@@ -884,7 +884,7 @@ static int
+@@ -899,7 +899,7 @@ static int
  ieee80211_ioctl_giwrange(struct net_device *dev, struct iw_request_info *info,
        struct iw_point *data, char *extra)
  {
        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 @@ ieee80211_ioctl_setspy(struct net_device
+@@ -1047,7 +1047,7 @@ ieee80211_ioctl_setspy(struct net_device
        struct iw_point *data, char *extra)
  {
        /* save the list of node addresses */
        struct sockaddr address[IW_MAX_SPY];
        unsigned int number = data->length;
        int i;
-@@ -1072,7 +1072,7 @@ ieee80211_ioctl_getspy(struct net_device
+@@ -1085,7 +1085,7 @@ ieee80211_ioctl_getspy(struct net_device
         * locate nodes by mac (ieee80211_find_node()),
         * copy out rssi, set updated flag appropriately
         */
        struct ieee80211_node_table *nt = &vap->iv_ic->ic_sta;
        struct ieee80211_node *ni;
        struct ieee80211com *ic = vap->iv_ic;
-@@ -1120,7 +1120,7 @@ static int
+@@ -1133,7 +1133,7 @@ static int
  ieee80211_ioctl_setthrspy(struct net_device *dev, struct iw_request_info *info,
        struct iw_point *data, char *extra)
  {
        struct iw_thrspy threshold;
  
        if (data->length != 1)
-@@ -1157,7 +1157,7 @@ static int
+@@ -1170,7 +1170,7 @@ static int
  ieee80211_ioctl_getthrspy(struct net_device *dev, struct iw_request_info *info,
        struct iw_point *data, char *extra)
  {
        struct ieee80211com *ic = vap->iv_ic;
        struct iw_thrspy *threshold;
  
-@@ -1178,7 +1178,7 @@ static int
+@@ -1191,7 +1191,7 @@ static int
  ieee80211_ioctl_siwmode(struct net_device *dev, struct iw_request_info *info,
        __u32 *mode, char *extra)
  {
        struct ifmediareq imr;
        int valid = 0;
  
-@@ -1203,7 +1203,7 @@ static int
+@@ -1216,7 +1216,7 @@ static int
  ieee80211_ioctl_giwmode(struct net_device *dev,       struct iw_request_info *info,
        __u32 *mode, char *extra)
  {
        struct ifmediareq imr;
  
        memset(&imr, 0, sizeof(imr));
-@@ -1226,7 +1226,7 @@ static int
+@@ -1239,7 +1239,7 @@ static int
  ieee80211_ioctl_siwpower(struct net_device *dev, struct iw_request_info *info,
        struct iw_param *wrq, char *extra)
  {
        struct ieee80211com *ic = vap->iv_ic;
  
        /* XXX: These values, flags, and caps do not seem to be used elsewhere 
-@@ -1265,7 +1265,7 @@ static int
+@@ -1278,7 +1278,7 @@ static int
  ieee80211_ioctl_giwpower(struct net_device *dev, struct iw_request_info *info,
        struct iw_param *rrq, char *extra)
  {
        struct ieee80211com *ic = vap->iv_ic;
  
        rrq->disabled = (ic->ic_flags & IEEE80211_F_PMGTON) == 0;
-@@ -1289,7 +1289,7 @@ static int
+@@ -1302,7 +1302,7 @@ static int
  ieee80211_ioctl_siwretry(struct net_device *dev, struct iw_request_info *info,
        struct iw_param *rrq, char *extra)
  {
        struct ieee80211com *ic = vap->iv_ic;
  
        if (rrq->disabled) {
-@@ -1321,7 +1321,7 @@ static int
+@@ -1334,7 +1334,7 @@ static int
  ieee80211_ioctl_giwretry(struct net_device *dev, struct iw_request_info *info,
        struct iw_param *rrq, char *extra)
  {
  
        rrq->disabled = (vap->iv_flags & IEEE80211_F_SWRETRY) == 0;
        if (!rrq->disabled) {
-@@ -1352,7 +1352,7 @@ static int
+@@ -1365,7 +1365,7 @@ static int
  ieee80211_ioctl_siwtxpow(struct net_device *dev, struct iw_request_info *info,
        struct iw_param *rrq, char *extra)
  {
        struct ieee80211com *ic = vap->iv_ic;
        int fixed, disabled;
  
-@@ -1389,7 +1389,7 @@ ieee80211_get_txcont(struct net_device *
+@@ -1402,7 +1402,7 @@ ieee80211_get_txcont(struct net_device *
                struct iw_request_info *info, void *w, char *extra)
  {
        int *params = (int*) extra;
        struct ieee80211com *ic = vap->iv_ic;
        params[0] = ic->ic_get_txcont(ic);
        return 0;
-@@ -1400,7 +1400,7 @@ ieee80211_get_dfs_cac_time(struct net_de
+@@ -1413,7 +1413,7 @@ ieee80211_get_dfs_cac_time(struct net_de
                struct iw_request_info *info, void *w, char *extra)
  {
        int *params = (int*) extra;
        struct ieee80211com *ic = vap->iv_ic;
        params[0] = ic->ic_get_dfs_cac_time(ic);
        return 0;
-@@ -1411,7 +1411,7 @@ ieee80211_get_dfs_excl_period(struct net
+@@ -1424,7 +1424,7 @@ ieee80211_get_dfs_excl_period(struct net
                struct iw_request_info *info, void *w, char *extra)
  {
        int *params = (int*) extra;
        struct ieee80211com *ic = vap->iv_ic;
        params[0] = ic->ic_get_dfs_excl_period(ic);
        return 0;
-@@ -1421,7 +1421,7 @@ ieee80211_set_dfs_cac_time(struct net_de
+@@ -1434,7 +1434,7 @@ ieee80211_set_dfs_cac_time(struct net_de
                struct iw_request_info *info, void *w, char *extra)
  {
        int *params = (int*) extra;
        struct ieee80211com *ic = vap->iv_ic;
        ic->ic_set_dfs_cac_time(ic, params[1]);
        return 0;
-@@ -1431,7 +1431,7 @@ ieee80211_set_dfs_excl_period  (struct n
+@@ -1444,7 +1444,7 @@ ieee80211_set_dfs_excl_period  (struct n
                struct iw_request_info *info, void *w, char *extra)
  {
        int *params = (int*) extra;
        struct ieee80211com *ic = vap->iv_ic;
        ic->ic_set_dfs_excl_period(ic, params[1]);
        return 0;
-@@ -1442,7 +1442,7 @@ ieee80211_get_dfs_testmode(struct net_de
+@@ -1455,7 +1455,7 @@ ieee80211_get_dfs_testmode(struct net_de
                struct iw_request_info *info, void *w, char *extra)
  {
        int *params = (int*) extra;
        struct ieee80211com *ic = vap->iv_ic;
        params[0] = ic->ic_get_dfs_testmode(ic);
        return 0;
-@@ -1453,7 +1453,7 @@ ieee80211_get_txcont_rate(struct net_dev
+@@ -1466,7 +1466,7 @@ ieee80211_get_txcont_rate(struct net_dev
                struct iw_request_info *info, void *w, char *extra)
  {
        int *params = (int*) extra;
        struct ieee80211com *ic = vap->iv_ic;
        params[0] = ic->ic_get_txcont_rate(ic);
        return 0;
-@@ -1464,7 +1464,7 @@ ieee80211_set_txcont(struct net_device *
+@@ -1477,7 +1477,7 @@ ieee80211_set_txcont(struct net_device *
                void *w, char *extra)
  {
        int *params = (int*) extra;
        struct ieee80211com *ic = vap->iv_ic;
        ic->ic_set_txcont(ic, params[1]);
        return 0;
-@@ -1475,7 +1475,7 @@ ieee80211_set_dfs_testmode(struct net_de
+@@ -1488,7 +1488,7 @@ ieee80211_set_dfs_testmode(struct net_de
                struct iw_request_info *info, void *w, char *extra)
  {
        int *params = (int*) extra;
        struct ieee80211com *ic = vap->iv_ic;
        ic->ic_set_dfs_testmode(ic, params[1]);
        return 0;
-@@ -1486,7 +1486,7 @@ ieee80211_set_txcont_rate(struct net_dev
+@@ -1499,7 +1499,7 @@ ieee80211_set_txcont_rate(struct net_dev
                struct iw_request_info *info, void *w, char *extra)
  {
        int *params = (int*) extra;
        struct ieee80211com *ic = vap->iv_ic;
        ic->ic_set_txcont_rate(ic, params[1]);
        return 0;
-@@ -1497,7 +1497,7 @@ ieee80211_set_txcont_power(struct net_de
+@@ -1510,7 +1510,7 @@ ieee80211_set_txcont_power(struct net_de
                struct iw_request_info *info, void *w, char *extra)
  {
        int *params = (int*) extra;
        struct ieee80211com *ic = vap->iv_ic;
        ic->ic_set_txcont_power(ic, params[1]);
        return 0;
-@@ -1508,7 +1508,7 @@ ieee80211_get_txcont_power(struct net_de
+@@ -1521,7 +1521,7 @@ ieee80211_get_txcont_power(struct net_de
                struct iw_request_info *info, void *w, char *extra)
  {
        int *params = (int*) extra;
        struct ieee80211com *ic = vap->iv_ic;
        params[0] = ic->ic_get_txcont_power(ic);
        return 0;
-@@ -1520,7 +1520,7 @@ ieee80211_ioctl_hal_map(struct net_devic
+@@ -1533,7 +1533,7 @@ ieee80211_ioctl_hal_map(struct net_devic
         void *w, char *extra)
  {
         int *params = (int*) extra;
         struct ieee80211com *ic = vap->iv_ic;
         params[0] = ic->ic_dump_hal_map(ic);
         return 0;
-@@ -1532,7 +1532,7 @@ ieee80211_ioctl_radar(struct net_device 
+@@ -1545,7 +1545,7 @@ ieee80211_ioctl_radar(struct net_device 
        void *w, char *extra)
  {
        int *params = (int*) extra;
        struct ieee80211com *ic = vap->iv_ic;
        if (!(ic->ic_flags & IEEE80211_F_DOTH))
                return 0;
-@@ -1544,7 +1544,7 @@ static int
+@@ -1557,7 +1557,7 @@ static int
  ieee80211_ioctl_giwtxpow(struct net_device *dev, struct iw_request_info *info,
        struct iw_param *rrq, char *extra)
  {
        struct ieee80211com *ic = vap->iv_ic;
        unsigned int power = ic->ic_txpowlimit;
        struct ieee80211_channel *c;
-@@ -1572,7 +1572,7 @@ static int
+@@ -1581,7 +1581,7 @@ static int
  ieee80211_dump_registers(struct net_device *dev, struct iw_request_info *info, void *w, char *extra)
  {
        unsigned int *params = (unsigned int*) extra;
        struct ieee80211com *ic = vap->iv_ic;
        switch (params[1]) {
        case 2:
-@@ -1595,7 +1595,7 @@ static int
+@@ -1604,7 +1604,7 @@ static int
  ieee80211_ioctl_writereg(struct net_device *dev, struct iw_request_info *info, void *w, char *extra)
  {
        unsigned int *params = (unsigned int*) extra;
        struct ieee80211com *ic = vap->iv_ic;
        return ic->ic_write_register(ic, params[0], params[1]);
  }
-@@ -1606,7 +1606,7 @@ static int
+@@ -1615,7 +1615,7 @@ static int
  ieee80211_ioctl_readreg(struct net_device *dev, struct iw_request_info *info, void *w, char *extra)
  {
        unsigned int *params = (unsigned int*) extra;
        struct ieee80211com *ic = vap->iv_ic;
        return ic->ic_read_register(ic, params[0], &params[0]);
  }
-@@ -1642,7 +1642,7 @@ static int
+@@ -1651,7 +1651,7 @@ static int
  ieee80211_ioctl_iwaplist(struct net_device *dev, struct iw_request_info *info,
        struct iw_point *data, char *extra)
  {
        struct ieee80211com *ic = vap->iv_ic;
        struct waplistreq req;          /* XXX off stack */
  
-@@ -1664,7 +1664,7 @@ static int
+@@ -1673,7 +1673,7 @@ static int
  ieee80211_ioctl_siwscan(struct net_device *dev,       struct iw_request_info *info,
        struct iw_point *data, char *extra)
  {
  
        /*
         * XXX don't permit a scan to be started unless we
-@@ -1988,7 +1988,7 @@ static int
+@@ -1997,7 +1997,7 @@ static int
  ieee80211_ioctl_giwscan(struct net_device *dev,       struct iw_request_info *info,
        struct iw_point *data, char *extra)
  {
        struct ieee80211com *ic = vap->iv_ic;
        struct iwscanreq req;
        int res = 0;
-@@ -2089,7 +2089,7 @@ static int
+@@ -2098,7 +2098,7 @@ static int
  ieee80211_ioctl_setmode(struct net_device *dev, struct iw_request_info *info,
        struct iw_point *wri, char *extra)
  {
        struct ieee80211com *ic = vap->iv_ic;
        struct ifreq ifr;
        char s[6];              /* big enough for ``11adt'' */
-@@ -2213,10 +2213,10 @@ ieee80211_setathcap(struct ieee80211vap 
+@@ -2222,10 +2222,10 @@ ieee80211_setathcap(struct ieee80211vap 
  static int
  ieee80211_set_turbo(struct net_device *dev, int flag)
  {
        int nvap = 0;
  
        TAILQ_FOREACH(tmpvap, &ic->ic_vaps, iv_next)
-@@ -2237,7 +2237,7 @@ static int
+@@ -2246,7 +2246,7 @@ static int
  ieee80211_ioctl_setparam(struct net_device *dev, struct iw_request_info *info,
        void *w, char *extra)
  {
        struct ieee80211com *ic = vap->iv_ic;
        struct ieee80211_rsnparms *rsn = &vap->iv_bss->ni_rsn;
        unsigned int *i = (unsigned int *) extra;
-@@ -2917,7 +2917,7 @@ static int
+@@ -2926,7 +2926,7 @@ static int
  ieee80211_ioctl_getmode(struct net_device *dev, struct iw_request_info *info,
        struct iw_point *wri, char *extra)
  {
        struct ieee80211com *ic = vap->iv_ic;
        struct ifmediareq imr;
  
-@@ -2955,7 +2955,7 @@ static int
+@@ -2964,7 +2964,7 @@ static int
  ieee80211_ioctl_getparam(struct net_device *dev, struct iw_request_info *info,
        void *w, char *extra)
  {
        struct ieee80211com *ic = vap->iv_ic;
        struct ieee80211_rsnparms *rsn = &vap->iv_bss->ni_rsn;
        unsigned int *param = (unsigned int *) extra;
-@@ -3300,7 +3300,7 @@ static int
+@@ -3309,7 +3309,7 @@ static int
  ieee80211_ioctl_setoptie(struct net_device *dev, struct iw_request_info *info,
        struct iw_point *wri, char *extra)
  {
        void *ie;
  
        /*
-@@ -3334,7 +3334,7 @@ static int
+@@ -3343,7 +3343,7 @@ static int
  ieee80211_ioctl_getoptie(struct net_device *dev, struct iw_request_info *info,
        struct iw_point *wri, char *extra)
  {
  
        if (vap->iv_opt_ie == NULL) {
                wri->length = 0;
-@@ -3398,7 +3398,7 @@ ieee80211_ioctl_setappiebuf(struct net_d
+@@ -3407,7 +3407,7 @@ ieee80211_ioctl_setappiebuf(struct net_d
        struct iw_request_info *info,
        struct iw_point *data, char *extra)
  {
        struct ieee80211req_getset_appiebuf *iebuf =
                (struct ieee80211req_getset_appiebuf *)extra;
        enum ieee80211_opmode chk_opmode;
-@@ -3440,7 +3440,7 @@ static int
+@@ -3449,7 +3449,7 @@ static int
  ieee80211_ioctl_getappiebuf(struct net_device *dev, struct iw_request_info *info,
        struct iw_point *data, char *extra)
  {
        struct ieee80211req_getset_appiebuf *iebuf =
                (struct ieee80211req_getset_appiebuf *)extra;
        int max_iebuf_len;
-@@ -3481,7 +3481,7 @@ static int
+@@ -3490,7 +3490,7 @@ static int
  ieee80211_ioctl_setfilter(struct net_device *dev, struct iw_request_info *info,
        void *w, char *extra)
  {
        struct ieee80211req_set_filter *app_filter = (struct ieee80211req_set_filter *)extra;
  
        if ((extra == NULL) || (app_filter->app_filterype & ~IEEE80211_FILTER_TYPE_ALL))
-@@ -3496,7 +3496,7 @@ static int
+@@ -3505,7 +3505,7 @@ static int
  ieee80211_ioctl_setkey(struct net_device *dev, struct iw_request_info *info,
        void *w, char *extra)
  {
        struct ieee80211com *ic = vap->iv_ic;
        struct ieee80211req_key *ik = (struct ieee80211req_key *)extra;
        struct ieee80211_node *ni;
-@@ -3579,7 +3579,7 @@ ieee80211_ioctl_setkey(struct net_device
+@@ -3588,7 +3588,7 @@ ieee80211_ioctl_setkey(struct net_device
  static int
  ieee80211_ioctl_getkey(struct net_device *dev, struct iwreq *iwr)
  {
        struct ieee80211com *ic = vap->iv_ic;
        struct ieee80211_node *ni;
        struct ieee80211req_key ik;
-@@ -3640,7 +3640,7 @@ static int
+@@ -3649,7 +3649,7 @@ static int
  ieee80211_ioctl_delkey(struct net_device *dev, struct iw_request_info *info,
        void *w, char *extra)
  {
        struct ieee80211com *ic = vap->iv_ic;
        struct ieee80211req_del_key *dk = (struct ieee80211req_del_key *)extra;
        ieee80211_keyix_t kix;
-@@ -3714,7 +3714,7 @@ static int
+@@ -3723,7 +3723,7 @@ static int
  ieee80211_ioctl_setmlme(struct net_device *dev, struct iw_request_info *info,
        void *w, char *extra)
  {
        struct ieee80211com *ic = vap->iv_ic;
        struct ieee80211req_mlme *mlme = (struct ieee80211req_mlme *)extra;
        struct ieee80211_node *ni;
-@@ -3817,7 +3817,7 @@ static int
+@@ -3826,7 +3826,7 @@ static int
  ieee80211_ioctl_wdsaddmac(struct net_device *dev, struct iw_request_info *info,
        void *w, char *extra)
  {
        struct sockaddr *sa = (struct sockaddr *)extra;
        struct ieee80211com *ic = vap->iv_ic;
        struct ieee80211vap *avp;
-@@ -3846,7 +3846,7 @@ static int
+@@ -3855,7 +3855,7 @@ static int
  ieee80211_ioctl_wdssetmac(struct net_device *dev, struct iw_request_info *info,
        void *w, char *extra)
  {
        struct sockaddr *sa = (struct sockaddr *)extra;
  
        if (vap->iv_opmode != IEEE80211_M_WDS)
-@@ -3913,7 +3913,7 @@ ieee80211_ioctl_setscanlist(struct net_d
+@@ -3922,7 +3922,7 @@ ieee80211_ioctl_setscanlist(struct net_d
        struct iw_request_info *info,
        struct iw_point *data, char *extra)
  {
        struct ieee80211com *ic = vap->iv_ic;
        char *s, *next;
        int val = 1;
-@@ -3988,7 +3988,7 @@ static int
+@@ -3997,7 +3997,7 @@ static int
  ieee80211_ioctl_addmac(struct net_device *dev, struct iw_request_info *info,
        void *w, char *extra)
  {
        struct sockaddr *sa = (struct sockaddr *)extra;
        const struct ieee80211_aclator *acl = vap->iv_acl;
  
-@@ -4006,7 +4006,7 @@ static int
+@@ -4015,7 +4015,7 @@ static int
  ieee80211_ioctl_delmac(struct net_device *dev, struct iw_request_info *info,
        void *w, char *extra)
  {
        struct sockaddr *sa = (struct sockaddr *)extra;
        const struct ieee80211_aclator *acl = vap->iv_acl;
  
-@@ -4024,7 +4024,7 @@ static int
+@@ -4033,7 +4033,7 @@ static int
  ieee80211_ioctl_setchanlist(struct net_device *dev,
        struct iw_request_info *info, void *w, char *extra)
  {
        struct ieee80211com *ic = vap->iv_ic;
        struct ieee80211req_chanlist *list =
                (struct ieee80211req_chanlist *)extra;
-@@ -4075,7 +4075,7 @@ static int
+@@ -4084,7 +4084,7 @@ static int
  ieee80211_ioctl_getchanlist(struct net_device *dev,
        struct iw_request_info *info, void *w, char *extra)
  {
        struct ieee80211com *ic = vap->iv_ic;
  
        memcpy(extra, ic->ic_chan_active, sizeof(ic->ic_chan_active));
-@@ -4096,7 +4096,7 @@ static int
+@@ -4105,7 +4105,7 @@ static int
  ieee80211_ioctl_getchaninfo(struct net_device *dev,
                            struct iw_request_info *info, void *w, char *extra)
  {
        struct ieee80211com *ic = vap->iv_ic;
        struct ieee80211req_chaninfo *chans =
            (struct ieee80211req_chaninfo *)extra;
-@@ -4143,7 +4143,7 @@ static int
+@@ -4152,7 +4152,7 @@ static int
  ieee80211_ioctl_setwmmparams(struct net_device *dev,
        struct iw_request_info *info, void *w, char *extra)
  {
        unsigned int *param = (unsigned int *) extra;
        unsigned int ac = (param[1] < WME_NUM_AC) ? param[1] : WME_AC_BE;
        unsigned int bss = param[2];
-@@ -4231,7 +4231,7 @@ static int
+@@ -4240,7 +4240,7 @@ static int
  ieee80211_ioctl_getwmmparams(struct net_device *dev,
        struct iw_request_info *info, void *w, char *extra)
  {
        unsigned int *param = (unsigned int *) extra;
        unsigned int ac = (param[1] < WME_NUM_AC) ? param[1] : WME_AC_BE;
        struct ieee80211_wme_state *wme = &vap->iv_ic->ic_wme;
-@@ -4266,7 +4266,7 @@ ieee80211_ioctl_getwmmparams(struct net_
+@@ -4275,7 +4275,7 @@ ieee80211_ioctl_getwmmparams(struct net_
  static int
  ieee80211_ioctl_getwpaie(struct net_device *dev, struct iwreq *iwr)
  {
        struct ieee80211com *ic = vap->iv_ic;
        struct ieee80211_node *ni;
        struct ieee80211req_wpaie wpaie;
-@@ -4300,7 +4300,7 @@ ieee80211_ioctl_getwpaie(struct net_devi
+@@ -4309,7 +4309,7 @@ ieee80211_ioctl_getwpaie(struct net_devi
  static int
  ieee80211_ioctl_getstastats(struct net_device *dev, struct iwreq *iwr)
  {
        struct ieee80211com *ic = vap->iv_ic;
        struct ieee80211_node *ni;
        u_int8_t macaddr[IEEE80211_ADDR_LEN];
-@@ -4419,7 +4419,7 @@ get_scan_result(void *arg, const struct 
+@@ -4428,7 +4428,7 @@ get_scan_result(void *arg, const struct 
  static int
  ieee80211_ioctl_getscanresults(struct net_device *dev, struct iwreq *iwr)
  {
        struct ieee80211com *ic = vap->iv_ic;
        struct scanreq req;
        int error;
-@@ -4582,7 +4582,7 @@ get_sta_info(void *arg, struct ieee80211
+@@ -4591,7 +4591,7 @@ get_sta_info(void *arg, struct ieee80211
  static int
  ieee80211_ioctl_getstainfo(struct net_device *dev, struct iwreq *iwr)
  {
        struct ieee80211com *ic = vap->iv_ic;
        struct stainforeq req;
        int error;
-@@ -4616,7 +4616,7 @@ ieee80211_ioctl_getstainfo(struct net_de
+@@ -4625,7 +4625,7 @@ ieee80211_ioctl_getstainfo(struct net_de
  
  static void
  pre_announced_chanswitch(struct net_device *dev, u_int32_t channel, u_int32_t tbtt) {
        struct ieee80211com *ic = vap->iv_ic;
        struct ieee80211vap *avp;
  
-@@ -4634,7 +4634,7 @@ static int
+@@ -4643,7 +4643,7 @@ static int
  ieee80211_ioctl_chanswitch(struct net_device *dev, struct iw_request_info *info,
        void *w, char *extra)
  {
        struct ieee80211com *ic = vap->iv_ic;
        unsigned int *param = (unsigned int *) extra;
  
-@@ -4679,7 +4679,7 @@ static int
+@@ -4688,7 +4688,7 @@ static int
  ieee80211_ioctl_giwgenie(struct net_device *dev,
        struct iw_request_info *info, struct iw_point *out, char *buf)
  {
  
        if (out->length < vap->iv_opt_ie_len)
                return -E2BIG;
-@@ -5212,7 +5212,7 @@ static int
+@@ -5221,7 +5221,7 @@ static int
  ieee80211_ioctl_giwencodeext(struct net_device *dev,
        struct iw_request_info *info, struct iw_point *erq, char *extra)
  {
        struct iw_encode_ext *ext;
        struct ieee80211_key *wk;
        ieee80211_keyix_t kix;
-@@ -5272,7 +5272,7 @@ static int
+@@ -5281,7 +5281,7 @@ static int
  ieee80211_ioctl_siwencodeext(struct net_device *dev,
        struct iw_request_info *info, struct iw_point *erq, char *extra)
  {
        struct iw_encode_ext *ext = (struct iw_encode_ext *)extra;
        struct ieee80211req_key kr;
        ieee80211_keyix_t kix;
-@@ -5948,7 +5948,7 @@ static struct iw_handler_def ieee80211_i
+@@ -5957,7 +5957,7 @@ static struct iw_handler_def ieee80211_i
  static int
  ieee80211_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
  {