diff options
| author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2007-10-27 17:51:52 +0000 | 
|---|---|---|
| committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2007-10-27 17:51:52 +0000 | 
| commit | ad8cd27cac7193d938a42d292b1f1f790f35f74b (patch) | |
| tree | 3924d108f469b4f175eb2d0b1495ef750641438a /package/madwifi/patches/310-noise_get.patch | |
| parent | d73a69babbc3a8777fc1b0afb9a24dcfd3afc009 (diff) | |
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
Diffstat (limited to 'package/madwifi/patches/310-noise_get.patch')
| -rw-r--r-- | package/madwifi/patches/310-noise_get.patch | 44 | 
1 files changed, 44 insertions, 0 deletions
| diff --git a/package/madwifi/patches/310-noise_get.patch b/package/madwifi/patches/310-noise_get.patch new file mode 100644 index 000000000..2dcfe3509 --- /dev/null +++ b/package/madwifi/patches/310-noise_get.patch @@ -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. + 		 */ | 
