return 0;
bad3:
-@@ -2672,6 +2674,7 @@ ath_init(struct net_device *dev)
+@@ -2673,6 +2675,7 @@ ath_init(struct net_device *dev)
*/
ath_chan_change(sc, ic->ic_curchan);
ath_set_ack_bitrate(sc, sc->sc_ackrate);
dev->flags |= IFF_RUNNING; /* we are ready to go */
ieee80211_start_running(ic); /* start all VAPs */
#ifdef ATH_TX99_DIAG
-@@ -4483,17 +4486,52 @@ ath_mode_init(struct net_device *dev)
+@@ -4484,17 +4487,52 @@ ath_mode_init(struct net_device *dev)
* Set the slot time based on the current setting.
*/
static void
sc->sc_updateslot = OK;
}
-@@ -4515,7 +4553,7 @@ ath_updateslot(struct net_device *dev)
+@@ -4516,7 +4554,7 @@ ath_updateslot(struct net_device *dev)
if (ic->ic_opmode == IEEE80211_M_HOSTAP)
sc->sc_updateslot = UPDATE;
else if (dev->flags & IFF_RUNNING)
}
#ifdef ATH_SUPERG_DYNTURBO
-@@ -5359,7 +5397,7 @@ ath_beacon_send(struct ath_softc *sc, in
+@@ -5360,7 +5398,7 @@ ath_beacon_send(struct ath_softc *sc, in
sc->sc_updateslot = COMMIT; /* commit next beacon */
sc->sc_slotupdate = slot;
} else if ((sc->sc_updateslot == COMMIT) && (sc->sc_slotupdate == slot))
if (bfaddr != 0) {
/*
-@@ -9429,7 +9467,8 @@ ath_set_coverageclass(struct ieee80211co
+@@ -9433,7 +9471,8 @@ ath_set_coverageclass(struct ieee80211co
{
struct ath_softc *sc = ic->ic_dev->priv;
return;
}
-@@ -10950,6 +10989,7 @@ enum {
+@@ -10956,6 +10995,7 @@ enum {
ATH_OFDM_WEAK_DET = 29,
ATH_CHANBW = 30,
ATH_OUTDOOR = 31,
};
/*
-@@ -11162,21 +11202,31 @@ ATH_SYSCTL_DECL(ath_sysctl_halparam, ctl
+@@ -11168,21 +11208,31 @@ ATH_SYSCTL_DECL(ath_sysctl_halparam, ctl
sc->sc_slottimeconf = val;
else
sc->sc_slottimeconf = 0;
break;
case ATH_SOFTLED:
if (val != sc->sc_softled) {
-@@ -11332,6 +11382,9 @@ ATH_SYSCTL_DECL(ath_sysctl_halparam, ctl
+@@ -11338,6 +11388,9 @@ ATH_SYSCTL_DECL(ath_sysctl_halparam, ctl
case ATH_CHANBW:
val = sc->sc_chanbw ?: 20;
break;
case ATH_SLOTTIME:
val = ath_hal_getslottime(ah);
break;
-@@ -11453,6 +11506,12 @@ static const ctl_table ath_sysctl_templa
+@@ -11459,6 +11512,12 @@ static const ctl_table ath_sysctl_templa
.extra2 = (void *)ATH_CTSTIMEOUT,
},
{ .ctl_name = CTL_AUTO,
static inline void ath_hal_beaconinit(struct ath_hal *ah, u_int32_t nexttbtt,
u_int32_t intval)
{
-@@ -841,6 +852,17 @@ static inline HAL_BOOL ath_hal_setslotti
+@@ -839,6 +850,17 @@ static inline HAL_BOOL ath_hal_setslotti
+ ath_hal_set_function(NULL);
+ ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
return ret;
- }
-
++}
++
+static inline HAL_BOOL ath_hal_seteifstime(struct ath_hal *ah, u_int a1)
+{
+ HAL_BOOL ret;
+ ath_hal_set_function(NULL);
+ ATH_HAL_UNLOCK_IRQ(ah->ah_sc);
+ return ret;
-+}
-+
+ }
+
static inline void ath_hal_setledstate(struct ath_hal *ah, HAL_LED_STATE a1)
- {
- ATH_HAL_LOCK_IRQ(ah->ah_sc);
--- a/ath/if_athvar.h
+++ b/ath/if_athvar.h
@@ -613,6 +613,15 @@ struct ath_rp {
struct ath_softc {
struct ieee80211com sc_ic; /* NB: must be first */
struct net_device *sc_dev;
-@@ -838,6 +847,8 @@ struct ath_softc {
+@@ -839,6 +848,8 @@ struct ath_softc {
* detected radars */
u_int32_t sc_nexttbtt;
u_int64_t sc_last_tsf;
};
typedef void (*ath_callback) (struct ath_softc *);
-@@ -945,49 +956,76 @@ int ar_device(int devid);
+@@ -946,49 +957,76 @@ int ar_device(int devid);
DEV_NAME(_v->iv_ic->ic_dev))
void ath_radar_detected(struct ath_softc *sc, const char* message);
{
--- a/ath_rate/sample/sample.c
+++ b/ath_rate/sample/sample.c
-@@ -137,92 +137,6 @@ rate_to_ndx(struct sample_node *sn, int
+@@ -137,92 +137,6 @@ rate_to_ndx(struct sample_node *sn, int
return -1;
}
ath_rate_node_init(struct ath_softc *sc, struct ath_node *an)
--- a/net80211/ieee80211_wireless.c
+++ b/net80211/ieee80211_wireless.c
-@@ -2736,6 +2736,7 @@ ieee80211_ioctl_setparam(struct net_devi
+@@ -2745,6 +2745,7 @@ ieee80211_ioctl_setparam(struct net_devi
case IEEE80211_PARAM_COVERAGE_CLASS:
if (value <= IEEE80211_COVERAGE_CLASS_MAX) {
ic->ic_coverageclass = value;
-ALLPROGS= athstats 80211stats athkey athchans athctrl \
+ALLPROGS= athstats 80211stats athkey athchans \
- athdebug 80211debug wlanconfig ath_info
+ $(if $(DEBUG),athdebug 80211debug) wlanconfig ath_info
OBJS= $(patsubst %,%.o,$(ALLPROGS))
--- a/tools/athctrl.c