Changeset 14195


Ignore:
Timestamp:
2009-01-26T03:57:44+01:00 (9 years ago)
Author:
nbd
Message:

madwifi: preserve the interface mode correctly when using wds with sta separation

Location:
trunk/package/madwifi/patches
Files:
14 edited

Legend:

Unmodified
Added
Removed
  • trunk/package/madwifi/patches/370-wdsvap.patch

    r14193 r14195  
    4545        if (ic->ic_dev->flags & IFF_RUNNING) { 
    4646                /* needs to disable hardware too */ 
    47 @@ -1271,8 +1269,11 @@ ath_vap_create(struct ieee80211com *ic,  
     47@@ -1271,8 +1269,12 @@ ath_vap_create(struct ieee80211com *ic,  
    4848                } else 
    4949                        ic_opmode = opmode; 
     
    5151-       case IEEE80211_M_HOSTAP: 
    5252        case IEEE80211_M_WDS: 
     53+               ic_opmode = ic->ic_opmode; 
    5354+               if (!master) 
    5455+                       return NULL; 
     
    5859                /* XXX sta+ap for repeater/bridge application */ 
    5960                if ((sc->sc_nvaps != 0) && (ic->ic_opmode == IEEE80211_M_STA)) 
    60 @@ -1304,7 +1305,7 @@ ath_vap_create(struct ieee80211com *ic,  
     61@@ -1304,7 +1306,7 @@ ath_vap_create(struct ieee80211com *ic,  
    6162        } 
    6263  
     
    6768        vap = &avp->av_vap; 
    6869        avp->av_newstate = vap->iv_newstate; 
    69 @@ -4209,8 +4210,7 @@ ath_calcrxfilter(struct ath_softc *sc) 
     70@@ -4209,8 +4211,7 @@ ath_calcrxfilter(struct ath_softc *sc) 
    7071        if (ic->ic_opmode == IEEE80211_M_STA || 
    7172            sc->sc_opmode == HAL_M_IBSS ||      /* NB: AHDEMO too */ 
     
    7778        if (sc->sc_nmonvaps > 0) 
    7879                rfilt |= (HAL_RX_FILTER_CONTROL | HAL_RX_FILTER_BEACON | 
    79 @@ -9030,8 +9030,6 @@ ath_calibrate(unsigned long arg) 
     80@@ -9030,8 +9031,6 @@ ath_calibrate(unsigned long arg) 
    8081                 * set sc->beacons if we might need to restart 
    8182                  * them after ath_reset. */ 
  • trunk/package/madwifi/patches/374-nbtt_fix.patch

    r13416 r14195  
    11--- a/ath/if_ath.c 
    22+++ b/ath/if_ath.c 
    3 @@ -5483,6 +5483,9 @@ ath_beacon_config(struct ath_softc *sc,  
     3@@ -5484,6 +5484,9 @@ ath_beacon_config(struct ath_softc *sc,  
    44                ath_beacon_dturbo_config(vap, intval & 
    55                                ~(HAL_BEACON_RESET_TSF | HAL_BEACON_ENA)); 
  • trunk/package/madwifi/patches/375-atim_tsf_update.patch

    r13416 r14195  
    99 static void ath_desc_free(struct ath_softc *); 
    1010 static void ath_desc_swap(struct ath_desc *); 
    11 @@ -2792,6 +2793,72 @@ ath_set_ack_bitrate(struct ath_softc *sc 
     11@@ -2793,6 +2794,72 @@ ath_set_ack_bitrate(struct ath_softc *sc 
    1212        return 1; 
    1313 } 
     
    8282  * Reset the hardware w/o losing operational state.  This is 
    8383  * basically a more efficient way of doing ath_stop, ath_init, 
    84 @@ -5291,6 +5358,7 @@ ath_beacon_config(struct ath_softc *sc,  
     84@@ -5292,6 +5359,7 @@ ath_beacon_config(struct ath_softc *sc,  
    8585        u_int64_t tsf, hw_tsf; 
    8686        u_int32_t tsftu, hw_tsftu; 
     
    9090  
    9191        if (vap == NULL) 
    92 @@ -5298,6 +5366,9 @@ ath_beacon_config(struct ath_softc *sc,  
     92@@ -5299,6 +5367,9 @@ ath_beacon_config(struct ath_softc *sc,  
    9393  
    9494        ni = vap->iv_bss; 
     
    100100        tsf = le64_to_cpu(ni->ni_tstamp.tsf); 
    101101        hw_tsftu = hw_tsf >> 10; 
    102 @@ -5487,15 +5558,27 @@ ath_beacon_config(struct ath_softc *sc,  
     102@@ -5488,15 +5559,27 @@ ath_beacon_config(struct ath_softc *sc,  
    103103                                <= ath_hal_sw_beacon_response_time) 
    104104                        nexttbtt += intval; 
     
    128128         * time critical aspect of this function */ 
    129129        DPRINTF(sc, ATH_DEBUG_BEACON, 
    130 @@ -6398,6 +6481,11 @@ ath_recv_mgmt(struct ieee80211vap * vap, 
     130@@ -6399,6 +6482,11 @@ ath_recv_mgmt(struct ieee80211vap * vap, 
    131131                        DPRINTF(sc, ATH_DEBUG_BEACON,  
    132132                                "Updated beacon timers\n"); 
  • trunk/package/madwifi/patches/381-ibss_modes.patch

    r13416 r14195  
    1313        case IEEE80211_M_AHDEMO: 
    1414        case IEEE80211_M_MONITOR: 
    15 @@ -1454,7 +1457,7 @@ ath_vap_create(struct ieee80211com *ic,  
     15@@ -1455,7 +1458,7 @@ ath_vap_create(struct ieee80211com *ic,  
    1616         * frames.  Other modes carry over directly to the HAL. 
    1717         */ 
  • trunk/package/madwifi/patches/383-ibss_hostap.patch

    r13416 r14195  
    11--- a/ath/if_ath.c 
    22+++ b/ath/if_ath.c 
    3 @@ -1451,6 +1451,23 @@ ath_vap_create(struct ieee80211com *ic,  
     3@@ -1452,6 +1452,23 @@ ath_vap_create(struct ieee80211com *ic,  
    44                sc->sc_nstavaps++; 
    55        else if (opmode == IEEE80211_M_MONITOR) 
     
    2525         * Adhoc demo mode is a pseudo mode; to the HAL it's 
    2626         * just IBSS mode and the driver doesn't use management 
    27 @@ -4278,7 +4295,8 @@ ath_calcrxfilter(struct ath_softc *sc) 
     27@@ -4279,7 +4296,8 @@ ath_calcrxfilter(struct ath_softc *sc) 
    2828        if (ic->ic_opmode != IEEE80211_M_HOSTAP && (dev->flags & IFF_PROMISC)) 
    2929                rfilt |= HAL_RX_FILTER_PROM; 
     
    3535                (ic->ic_opmode == IEEE80211_M_HOSTAP)) 
    3636                rfilt |= HAL_RX_FILTER_BEACON; 
    37 @@ -6432,6 +6450,33 @@ ath_capture(struct net_device *dev, cons 
     37@@ -6433,6 +6451,33 @@ ath_capture(struct net_device *dev, cons 
    3838 } 
    3939  
     
    6969  * ibss merges. This function is called for all management frames, 
    7070  * including those belonging to other BSS. 
    71 @@ -6484,10 +6529,19 @@ ath_recv_mgmt(struct ieee80211vap * vap, 
     71@@ -6485,10 +6530,19 @@ ath_recv_mgmt(struct ieee80211vap * vap, 
    7272                        DPRINTF(sc, ATH_DEBUG_BEACON,  
    7373                                "Updated beacon timers\n"); 
     
    9393                /* NB: Fall Through */ 
    9494        case IEEE80211_FC0_SUBTYPE_PROBE_RESP: 
    95 @@ -6560,6 +6614,10 @@ ath_recv_mgmt(struct ieee80211vap * vap, 
     95@@ -6561,6 +6615,10 @@ ath_recv_mgmt(struct ieee80211vap * vap, 
    9696 #endif 
    9797                        if (do_merge) 
  • trunk/package/madwifi/patches/384-hwdetect.patch

    r13416 r14195  
    3434        sc->sc_bslot =  
    3535                kmalloc(ath_maxvaps * sizeof(struct ieee80211vap*), GFP_KERNEL); 
    36 @@ -1507,6 +1519,28 @@ ath_vap_create(struct ieee80211com *ic,  
     36@@ -1508,6 +1520,28 @@ ath_vap_create(struct ieee80211com *ic,  
    3737        return vap; 
    3838 } 
     
    6363 ath_vap_delete(struct ieee80211vap *vap) 
    6464 { 
    65 @@ -10818,6 +10852,12 @@ ath_ioctl(struct net_device *dev, struct 
     65@@ -10819,6 +10853,12 @@ ath_ioctl(struct net_device *dev, struct 
    6666  * is to add module parameters. 
    6767  */ 
     
    7676  * Dynamic (i.e. per-device) sysctls.  These are automatically 
    7777  * mirrored in /proc/sys. 
    78 @@ -10897,6 +10937,38 @@ ath_sysctl_get_intmit(struct ath_softc * 
     78@@ -10898,6 +10938,38 @@ ath_sysctl_get_intmit(struct ath_softc * 
    7979 } 
    8080  
     
    115115 { 
    116116        struct ath_softc *sc = ctl->extra1; 
    117 @@ -11176,6 +11248,24 @@ static int maxint = 0x7fffffff;                /* 32-b 
     117@@ -11177,6 +11249,24 @@ static int maxint = 0x7fffffff;                /* 32-b 
    118118  
    119119 static const ctl_table ath_sysctl_template[] = { 
  • trunk/package/madwifi/patches/385-antenna_fix.patch

    r13416 r14195  
    11--- a/ath/if_ath.c 
    22+++ b/ath/if_ath.c 
    3 @@ -6665,6 +6665,7 @@ ath_setdefantenna(struct ath_softc *sc,  
     3@@ -6666,6 +6666,7 @@ ath_setdefantenna(struct ath_softc *sc,  
    44        struct ath_hal *ah = sc->sc_ah; 
    55  
  • trunk/package/madwifi/patches/389-autochannel.patch

    r13564 r14195  
    99 /* calibrate every 30 secs in steady state but check every second at first. */ 
    1010 static int ath_calinterval = ATH_SHORT_CALINTERVAL; 
    11 @@ -2579,6 +2580,7 @@ ath_init(struct net_device *dev) 
     11@@ -2580,6 +2581,7 @@ ath_init(struct net_device *dev) 
    1212         * be followed by initialization of the appropriate bits 
    1313         * and then setup of the interrupt mask. 
     
    1717        sc->sc_curchan.channelFlags = ath_chan2flags(ic->ic_curchan); 
    1818        if (!ath_hal_reset(ah, sc->sc_opmode, &sc->sc_curchan, AH_FALSE, &status)) { 
    19 @@ -2913,6 +2915,40 @@ ath_hw_check_atim(struct ath_softc *sc,  
     19@@ -2914,6 +2916,40 @@ ath_hw_check_atim(struct ath_softc *sc,  
    2020 } 
    2121  
     
    5858  * Reset the hardware w/o losing operational state.  This is 
    5959  * basically a more efficient way of doing ath_stop, ath_init, 
    60 @@ -2939,6 +2975,7 @@ ath_reset(struct net_device *dev) 
     60@@ -2940,6 +2976,7 @@ ath_reset(struct net_device *dev) 
    6161         * Convert to a HAL channel description with the flags 
    6262         * constrained to reflect the current operating mode. 
     
    6666        sc->sc_curchan.channel = c->ic_freq; 
    6767        sc->sc_curchan.channelFlags = ath_chan2flags(c); 
    68 @@ -9019,6 +9056,7 @@ ath_chan_set(struct ath_softc *sc, struc 
     68@@ -9020,6 +9057,7 @@ ath_chan_set(struct ath_softc *sc, struc 
    6969        u_int8_t channel_change_required = 0; 
    7070        struct timeval tv; 
  • trunk/package/madwifi/patches/391-vap_auth.patch

    r14171 r14195  
    11--- a/net80211/ieee80211_input.c 
    22+++ b/net80211/ieee80211_input.c 
    3 @@ -1374,7 +1386,7 @@ ieee80211_auth_open(struct ieee80211_nod 
     3@@ -1374,7 +1374,7 @@ ieee80211_auth_open(struct ieee80211_nod 
    44                vap->iv_stats.is_rx_bad_auth++; /* XXX maybe a unique error? */ 
    55                if (vap->iv_opmode == IEEE80211_M_HOSTAP) { 
     
    1010                                        return; 
    1111                                tmpnode = 1; 
    12 @@ -1762,6 +1774,8 @@ ieee80211_ssid_mismatch(struct ieee80211 
     12@@ -1762,6 +1762,8 @@ ieee80211_ssid_mismatch(struct ieee80211 
    1313 } 
    1414  
     
    1919            ((_ssid)[1] != (_ni)->ni_esslen ||                          \ 
    2020            memcmp((_ssid) + 2, (_ni)->ni_essid, (_ssid)[1]) != 0)) {   \ 
    21 @@ -1776,6 +1790,8 @@ ieee80211_ssid_mismatch(struct ieee80211 
     21@@ -1776,6 +1778,8 @@ ieee80211_ssid_mismatch(struct ieee80211 
    2222 } while (0) 
    2323 #else /* !IEEE80211_DEBUG */ 
  • trunk/package/madwifi/patches/393-mbss_vap_auth.patch

    r14193 r14195  
    316316--- a/ath/if_ath.c 
    317317+++ b/ath/if_ath.c 
    318 @@ -6577,9 +6577,8 @@ ath_recv_mgmt(struct ieee80211vap * vap, 
     318@@ -6578,9 +6578,8 @@ ath_recv_mgmt(struct ieee80211vap * vap, 
    319319  
    320320        sc->sc_recv_mgmt(vap, ni_or_null, skb, subtype, rssi, rtsf); 
     
    327327        if (ni == NULL) { 
    328328                DPRINTF(sc, ATH_DEBUG_BEACON, "Dropping; node unknown.\n"); 
    329 @@ -6734,7 +6733,9 @@ ath_rx_poll(struct net_device *dev, int  
     329@@ -6735,7 +6734,9 @@ ath_rx_poll(struct net_device *dev, int  
    330330        struct ath_desc *ds; 
    331331        struct ath_rx_status *rs; 
     
    337337        int type; 
    338338        u_int phyerr; 
    339 @@ -6889,12 +6890,15 @@ rx_accept: 
     339@@ -6890,12 +6891,15 @@ rx_accept: 
    340340                skb_trim(skb, skb->len - IEEE80211_CRC_LEN); 
    341341  
     
    355355                        if (ni && ni->ni_table) { 
    356356                                ieee80211_check_mic(ni, skb); 
    357 @@ -6956,11 +6960,24 @@ drop_micfail: 
     357@@ -6957,11 +6961,24 @@ drop_micfail: 
    358358                 * for its use.  If the sender is unknown spam the 
    359359                 * frame; it'll be dropped where it's not wanted. 
     
    382382                        type = ieee80211_input(ni->ni_vap, ni, skb, rs->rs_rssi, bf->bf_tsf); 
    383383                        ieee80211_unref_node(&ni); 
    384 @@ -6969,24 +6986,35 @@ drop_micfail: 
     384@@ -6970,24 +6987,35 @@ drop_micfail: 
    385385                         * No key index or no entry, do a lookup and 
    386386                         * add the node to the mapping table if possible. 
  • trunk/package/madwifi/patches/395-ath_ff_unmap.patch

    r14192 r14195  
    11--- a/ath/if_ath.c 
    22+++ b/ath/if_ath.c 
    3 @@ -13508,7 +13508,7 @@ cleanup_ath_buf(struct ath_softc *sc, st 
     3@@ -13509,7 +13509,7 @@ cleanup_ath_buf(struct ath_softc *sc, st 
    44                                bus_unmap_single( 
    55                                        sc->sc_bdev, 
  • trunk/package/madwifi/patches/406-monitor_r3711.patch

    r13521 r14195  
    11--- a/ath/if_ath.c 
    22+++ b/ath/if_ath.c 
    3 @@ -6510,7 +6510,7 @@ ath_capture(struct net_device *dev, cons 
     3@@ -6511,7 +6511,7 @@ ath_capture(struct net_device *dev, cons 
    44  
    55        /* Never copy the SKB, as it is ours on the RX side, and this is the  
     
    1010                DPRINTF(sc, ATH_DEBUG_ANY, 
    1111                        "Dropping; ath_skb_removepad failed!\n"); 
    12 @@ -6518,6 +6518,8 @@ ath_capture(struct net_device *dev, cons 
     12@@ -6519,6 +6519,8 @@ ath_capture(struct net_device *dev, cons 
    1313        } 
    1414         
  • trunk/package/madwifi/patches/408-changeset_r3337.patch

    r13521 r14195  
    1111--- a/ath/if_ath.c 
    1212+++ b/ath/if_ath.c 
    13 @@ -3129,7 +3129,7 @@ ath_tx_startraw(struct net_device *dev,  
     13@@ -3130,7 +3130,7 @@ ath_tx_startraw(struct net_device *dev,  
    1414        struct ath_softc *sc = dev->priv; 
    1515        struct ath_hal *ah = sc->sc_ah; 
  • trunk/package/madwifi/patches/450-new_hal.patch

    r14171 r14195  
    109109         * Check if the MAC has multi-rate retry support. 
    110110         * We do this by trying to setup a fake extended 
    111 @@ -7552,7 +7560,7 @@ ath_txq_setup(struct ath_softc *sc, int  
     111@@ -7553,7 +7561,7 @@ ath_txq_setup(struct ath_softc *sc, int  
    112112        if (qtype == HAL_TX_QUEUE_UAPSD) 
    113113                qi.tqi_qflags = HAL_TXQ_TXDESCINT_ENABLE; 
Note: See TracChangeset for help on using the changeset viewer.