--- a/ath/if_ath.c
 +++ b/ath/if_ath.c
-@@ -2479,7 +2479,7 @@
-        */
-       sc->sc_curchan.channel = ic->ic_curchan->ic_freq;
-       sc->sc_curchan.channelFlags = ath_chan2flags(ic->ic_curchan);
--      if (!ath_hal_reset(ah, sc->sc_opmode, &sc->sc_curchan, AH_FALSE, &status)) {
-+      if (!ath_hal_reset(ah, sc->sc_opmode, &sc->sc_curchan, AH_TRUE, &status)) {
-               EPRINTF(sc, "unable to reset hardware: '%s' (HAL status %u) "
-                       "(freq %u flags 0x%x)\n", 
-                       ath_get_hal_status_desc(status), status,
 @@ -8853,8 +8853,7 @@
                 * needed to do the reset with chanchange = AH_FALSE in order
                 * to receive traffic when peforming high velocity channel
 
--- /dev/null
+Index: madwifi-trunk-r3314/ath/if_ath.c
+===================================================================
+--- madwifi-trunk-r3314.orig/ath/if_ath.c      2008-06-01 20:07:35.000000000 +0200
++++ madwifi-trunk-r3314/ath/if_ath.c   2008-06-01 20:17:01.000000000 +0200
+@@ -2528,7 +2528,7 @@
+        * Enable MIB interrupts when there are hardware phy counters.
+        * Note we only do this (at the moment) for station mode.
+        */
+-      if (sc->sc_needmib && ic->ic_opmode == IEEE80211_M_STA)
++      if (sc->sc_needmib)
+               sc->sc_imask |= HAL_INT_MIB;
+       ath_hal_intrset(ah, sc->sc_imask);
+