-Index: madwifi-trunk-r3280/ath/if_ath.c
-===================================================================
---- madwifi-trunk-r3280.orig/ath/if_ath.c 2008-01-28 17:30:33.325904012 +0100
-+++ madwifi-trunk-r3280/ath/if_ath.c 2008-01-28 17:31:21.850243393 +0100
-@@ -1674,8 +1674,6 @@
+--- a/ath/if_ath.c
++++ b/ath/if_ath.c
+@@ -1699,8 +1699,6 @@ ath_uapsd_processtriggers(struct ath_sof
* get to reality. This value is used in monitor mode and by tools like
* Wireshark and Kismet.
*/
ATH_RXBUF_LOCK_IRQ(sc);
if (sc->sc_rxbufcur == NULL)
sc->sc_rxbufcur = STAILQ_FIRST(&sc->sc_rxbuf);
-@@ -8868,6 +8866,7 @@
+@@ -8975,6 +8973,7 @@ ath_calibrate(unsigned long arg)
sc->sc_curchan.channel);
sc->sc_stats.ast_per_calfail++;
}
ath_hal_process_noisefloor(ah);
if (isIQdone == AH_TRUE) {
-@@ -8936,6 +8935,7 @@
+@@ -9043,6 +9042,7 @@ ath_set_channel(struct ieee80211com *ic)
struct ath_softc *sc = dev->priv;
(void) ath_chan_set(sc, ic->ic_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
-@@ -9204,6 +9204,7 @@
+@@ -9311,6 +9311,7 @@ ath_newstate(struct ieee80211vap *vap, e
}
ath_hal_process_noisefloor(ah);
/*
* Reset rssi stats; maybe not the best place...
*/
+--- a/net80211/ieee80211_wireless.c
++++ b/net80211/ieee80211_wireless.c
+@@ -4358,6 +4358,7 @@ get_sta_info(void *arg, struct ieee80211
+ si->isi_state = ni->ni_flags;
+ si->isi_authmode = ni->ni_authmode;
+ si->isi_rssi = ic->ic_node_getrssi(ni);
++ si->isi_noise = ic->ic_channoise;
+ si->isi_capinfo = ni->ni_capinfo;
+ si->isi_athflags = ni->ni_ath_flags;
+ si->isi_erp = ni->ni_erp;
+--- a/net80211/ieee80211_ioctl.h
++++ b/net80211/ieee80211_ioctl.h
+@@ -311,6 +311,7 @@ struct ieee80211req_sta_info {
+ u_int16_t isi_state; /* state flags */
+ u_int8_t isi_authmode; /* authentication algorithm */
+ u_int8_t isi_rssi;
++ int8_t isi_noise;
+ u_int16_t isi_capinfo; /* capabilities */
+ u_int8_t isi_athflags; /* Atheros capabilities */
+ u_int8_t isi_erp; /* ERP element */