madwifi: fix noderef and state machine issues in the currently unused ap-to-ap wds...
[openwrt/svn-archive/archive.git] / package / madwifi / patches / 341-minrate.patch
index 1e75ddecf81344363f56c32a8d7929755f81a838..6f448afa60b64377ee77dd9949b1e414d67e4aa2 100644 (file)
@@ -1,6 +1,6 @@
 --- a/ath/if_ath.c
 +++ b/ath/if_ath.c
-@@ -1308,6 +1308,7 @@
+@@ -1308,6 +1308,7 @@ ath_vap_create(struct ieee80211com *ic, 
        vap->iv_key_update_begin = ath_key_update_begin;
        vap->iv_key_update_end = ath_key_update_end;
        vap->iv_maxrateindex = 0;
@@ -10,7 +10,7 @@
                 * use those (only). */
 --- a/ath_rate/minstrel/minstrel.c
 +++ b/ath_rate/minstrel/minstrel.c
-@@ -638,9 +638,15 @@
+@@ -638,9 +638,15 @@ ath_rate_ctl_reset(struct ath_softc *sc,
                        sn->rs_succ_hist        [x] = 0;
                        sn->rs_att_hist         [x] = 0;
                        sn->rs_this_tp          [x] = 0;
@@ -27,7 +27,7 @@
                        if (sn->rates[x].rix == 0xff) {
                                DPRINTF(sc, "%s: %s ignore bogus rix at %d\n",
                                        dev_info, __func__, x);
-@@ -649,7 +655,7 @@
+@@ -649,7 +655,7 @@ ath_rate_ctl_reset(struct ath_softc *sc,
                        sn->rates[x].rateCode = rt->info[sn->rates[x].rix].rateCode;
                        sn->rates[x].shortPreambleRateCode =
                                rt->info[sn->rates[x].rix].rateCode |
@@ -38,7 +38,7 @@
                ath_fill_sample_table(sn);
 --- a/ath_rate/sample/sample.c
 +++ b/ath_rate/sample/sample.c
-@@ -842,8 +842,15 @@
+@@ -842,8 +842,15 @@ ath_rate_ctl_reset(struct ath_softc *sc,
                sn->num_rates = vap->iv_maxrateindex;
  
        for (x = 0; x < ni->ni_rates.rs_nrates; x++) {
@@ -58,7 +58,7 @@
                                dev_info, __func__, x);
 --- a/net80211/ieee80211_ioctl.h
 +++ b/net80211/ieee80211_ioctl.h
-@@ -642,6 +642,7 @@
+@@ -642,6 +642,7 @@ enum {
        IEEE80211_PARAM_BEACON_MISS_THRESH      = 73,   /* Beacon miss threshold (in beacons) */
        IEEE80211_PARAM_BEACON_MISS_THRESH_MS   = 74,   /* Beacon miss threshold (in ms) */
        IEEE80211_PARAM_MAXRATE                 = 75,   /* Maximum rate (by table index) */
@@ -68,7 +68,7 @@
  #define       SIOCG80211STATS                 (SIOCDEVPRIVATE+2)
 --- a/net80211/ieee80211_var.h
 +++ b/net80211/ieee80211_var.h
-@@ -282,6 +282,7 @@
+@@ -282,6 +282,7 @@ struct ieee80211vap {
        struct ieee80211_app_ie app_ie[IEEE80211_APPIE_NUM_OF_FRAME]; /* app-specified IEs by frame type */
        u_int32_t app_filter;                           /* filters which management frames are forwarded to app */
        int iv_maxrateindex;
@@ -78,7 +78,7 @@
  /* Debug functions need the defintion of struct ieee80211vap because iv_debug 
 --- a/net80211/ieee80211_wireless.c
 +++ b/net80211/ieee80211_wireless.c
-@@ -2845,6 +2845,12 @@
+@@ -2845,6 +2845,12 @@ ieee80211_ioctl_setparam(struct net_devi
                else
                        vap->iv_maxrateindex = 0;
                break;
@@ -91,7 +91,7 @@
  #ifdef ATH_REVERSE_ENGINEERING
        case IEEE80211_PARAM_DUMPREGS:
                ieee80211_dump_registers(dev, info, w, extra);
-@@ -3183,6 +3189,9 @@
+@@ -3183,6 +3189,9 @@ ieee80211_ioctl_getparam(struct net_devi
        case IEEE80211_PARAM_MAXRATE:
                param[0] = vap->iv_maxrateindex;
                break;
        default:
                return -EOPNOTSUPP;
        }
-@@ -5623,6 +5632,10 @@
+@@ -5623,6 +5632,10 @@ static const struct iw_priv_args ieee802
         IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "maxrate"},
        {IEEE80211_PARAM_MAXRATE,
         0, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "get_maxrate"},