1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-12-25 02:48:37 +02:00

madwifi: don't poll the channel noise in a performance critical path

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@9454 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
nbd 2007-10-27 17:51:52 +00:00
parent d73a69babb
commit ad8cd27cac

View File

@ -0,0 +1,44 @@
Index: madwifi-ng-r2756-20071018/ath/if_ath.c
===================================================================
--- madwifi-ng-r2756-20071018.orig/ath/if_ath.c 2007-10-27 19:20:14.495461544 +0200
+++ madwifi-ng-r2756-20071018/ath/if_ath.c 2007-10-27 19:22:02.865637202 +0200
@@ -1417,7 +1417,6 @@
* Wireshark and Kismet.
*/
hw_tsf = ath_hal_gettsf64(ah);
- ic->ic_channoise = ath_hal_get_channel_noise(ah, &(sc->sc_curchan));
ATH_RXBUF_LOCK_IRQ(sc);
if (sc->sc_rxbufcur == NULL)
@@ -8174,6 +8173,7 @@
struct net_device *dev = (struct net_device *) arg;
struct ath_softc *sc = dev->priv;
struct ath_hal *ah = sc->sc_ah;
+ struct ieee80211com *ic = &sc->sc_ic;
/* u_int32_t nchans; */
HAL_BOOL isIQdone = AH_FALSE;
@@ -8202,6 +8202,7 @@
ath_calinterval = ATH_LONG_CALINTERVAL;
else
ath_calinterval = ATH_SHORT_CALINTERVAL;
+ ic->ic_channoise = ath_hal_get_channel_noise(ah, &(sc->sc_curchan));
sc->sc_cal_ch.expires = jiffies + (ath_calinterval * HZ);
add_timer(&sc->sc_cal_ch);
@@ -8252,6 +8253,7 @@
struct ath_softc *sc = dev->priv;
(void) ath_chan_set(sc, ic->ic_curchan);
+ ic->ic_channoise = ath_hal_get_channel_noise(ah, &(sc->sc_curchan));
/*
* If we are returning to our bss channel then mark state
* so the next recv'd beacon's TSF will be used to sync the
@@ -8466,6 +8468,7 @@
}
ath_hal_process_noisefloor(ah);
+ ic->ic_channoise = ath_hal_get_channel_noise(ah, &(sc->sc_curchan));
/*
* Configure the beacon and sleep timers.
*/